1

私は次の行を持っています:

MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m

そしてそれを変換したい(フィールド2-> nに引用符を追加):

export MAVEN_OPTS="-XX:MaxPermSize=128m -Xms128m -Xmx768m"
4

4 に答える 4

0

いくつかの awk の可能性 (ubuntu でテスト済み)

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

echo "MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m" |  awk 'BEGIN{FS="MAVEN_OPTS="; OFS="MAVEN_OPTS=\"";} {print $1,$2 "\""}'
于 2009-06-04T15:16:00.653 に答える
0

別の awk ソリューション:

echo "MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m" |
awk -F= 'BEGIN {OFS=FS} {$2="\"" $2; $NF=$NF "\""; print}'
于 2009-06-04T19:57:51.427 に答える
0

これは別のアプローチです。

$ echo 'MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m' | 
awk 'match($0,/=.*/)&&$0="export "substr($0,1,RSTART-1)"="substr($0,RSTART+1)'

gawk がある場合:

$ echo 'MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m' | 
gawk '$0=gensub(/^(.*)=(.*)/,"\\1=\\2",1)'
于 2009-06-05T13:25:58.577 に答える
0
echo "MAVEN_OPTS=-XX:MaxPermSize=128m -Xms128m -Xmx768m" | sed 's/=/="/; s/$/"/'
于 2009-06-04T14:53:13.523 に答える