拆分sed/awk中的剩余字段

拆分sed/awk中的剩余字段,sed,awk,Sed,Awk,我有一句话: MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m 并希望将其转换为(在字段2->n上添加引号): 一些awk的可能性(在ubuntu中测试) 另一个awk解决方案: echo "MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m" | awk -F= 'BEGIN {OFS=FS} {$2="\"" $2; $NF=$NF "\""; print}' 这是另一种方法: $ echo

我有一句话:

MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m
并希望将其转换为(在字段2->n上添加引号):

一些awk的可能性(在ubuntu中测试)

另一个awk解决方案:

echo "MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m" |
awk -F= 'BEGIN {OFS=FS} {$2="\"" $2; $NF=$NF "\""; print}'

这是另一种方法:

$ echo 'MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m' | 
awk 'match($0,/=.*/)&&$0="export "substr($0,1,RSTART-1)"="substr($0,RSTART+1)'
如果您有呆呆的行为:

$ echo 'MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m' | 
gawk '$0=gensub(/^(.*)=(.*)/,"\\1=\\2",1)'
echo "MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m" |
awk -F= 'BEGIN {OFS=FS} {$2="\"" $2; $NF=$NF "\""; print}'
$ echo 'MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m' | 
awk 'match($0,/=.*/)&&$0="export "substr($0,1,RSTART-1)"="substr($0,RSTART+1)'
$ echo 'MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m' | 
gawk '$0=gensub(/^(.*)=(.*)/,"\\1=\\2",1)'