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 ファイルがあり、事前定義された値を持つ 2 番目のフィールドを印刷しようとしています。
0 RUN_ID STR[0]
191245204696,REG-00000000001
出かけたい
0 RUN_ID STR[0]"REG-00000000001"
しかし、私が得るものは
” RUN_ID STR [0] “REG-00000000001
二重引用符が正しくありません。 echoのお問い合わせ最初の2文字も失われます。
助けてください。 「-」はUnixシェルスクリプトに何らかの意味があると思います。助けてください。
注:私は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
テキストを解析するには、シェルの代わりに専用ツールを使用することをお勧めしますawk
。
awk -F, '{print "0 RUN_ID STR [0] \""$2"\""}' < input
結果は次のとおりです。
0 RUN_ID STR [0] "REG-00000000001"