cat inv_summary_1.txt | while read -r aLine
do
F1=`echo "$aLine" | cut -d "," -f1`
F2=`echo "$aLine" | cut -d "," -f2`
echo " 0 RUN_ID STR [0] \"${F2}\" "
done
191245204696,REG-00000000001
我上面有一个文件 inv_summary_1.txt,分隔符为“,”,想要打印第二个字段以及预定义值
0 RUN_ID STR [0]
191245204696,REG-00000000001
我想出去
0 RUN_ID STR [0]“REG-00000000001”
但我得到的是
” RUN_ID STR [0] “REG-00000000001
双引号不正确,即使 echo 语句中的前 2 个字符也丢失。
请帮助,我相信“-”在 Unix shell 脚本中有一定的意义,请帮助
注意:我使用的是 Linux 4.1.12-94.3.9.el7uek.x86_64 #2 SMP Fri Jul 14 20:09:40 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
答案1
考虑使用专用工具而不是 shell 来解析文本;awk
是一种方式:
awk -F, '{print "0 RUN_ID STR [0] \""$2"\""}' < input
结果如下:
0 RUN_ID STR [0] "REG-00000000001"