我就是我2 写了:y3=compt_c[uidt5100@home]$ data=$(grep "compt" a.dat | awk -F "=" '{print "\"" $2 "\"," } A-Z | tr -d '\n' | sed 's/,$//')
命令没有输错先,希望不是文字错误。
复制,保存为脚本test.sh。
set 是调试用的。
[bash]
#!/bin/bash
set -x
DATA=$(grep "compt" a.dat | awk -F "=" '{print "\"" $2 "\"," }' | tr a-z A-Z | tr -d '\n' | sed 's/,$//')
echo "ss=$DATA"
set +x
exit 0
[/bash]
运行结果
./test.sh
++ grep compt a.dat
++ tr a-z A-Z
++ awk -F = '{print "\"" $2 "\"," }'
++ tr -d '\n'
++ sed 's/,$//'
+ DATA='"COMPT_A","COMPT_B","COMPT_C"'
+ echo 'ss="COMPT_A","COMPT_B","COMPT_C"'
ss="COMPT_A","COMPT_B","COMPT_C"
+ set +x
和你的结果不一样。第一次运行脚本中第一行是空行,在vi中去掉了。
[uidt5100@home]$ ./test.sh
bash: ./test.sh: Permission denied
[uidt5100@home]$ chmod 755 test.sh
[uidt5100@home]$ vi test.sh
[uidt5100@home]$ ./test.sh
++ tr -d '\n'
++ grep compt a.dat
++ awk -F = '{print "\"" $2 "\"," }'
++ sed 's/,$//'
++ tr a-z A-Z
","COMPT_C"'PT_A
","COMPT_C"'COMPT_A
","COMPT_C"
+ set +x
[uidt5100@home]$ cat test.sh
#!/bin/bash
set -x
DATA=$(grep "compt" a.dat | awk -F "=" '{print "\"" $2 "\"," }' | tr a-z A-Z | tr -d '\n' | sed 's/,$//')
echo "ss=$DATA"
set +x
exit 0
[uidt5100@home]$