CSVファイルがありますfile.csv
。
Action,Type,Name,Destination
Add,File,File1.war,path
Add,File,File2.properties,path
Add,Directory,File3.war,path
このファイルは、ソースとターゲットの場所の各行にファイルがあるかどうかを確認するwhileループへの入力として提供されており、条件がtrueの場合、値をメモと呼ばれる新しい列に返し、成功または失敗を返す必要があります。備考を追加。
while IFS="," read f1 f2 f3 f4
do
statements
done < file.csv.
各行の出力に基づいて5番目の列に値を追加したいと思います。私が必要とする出力は次のように似ています。
Action,Type,Name,Destination,Remarks
Add,File,File1.war,path,Success
Add,File,File2.properties,path,Fail
Add,Directory,File3.war,path,Fail
答え1
awk
あなたが提供したいくつかの情報に基づいていくつかの無意味なチェックをあなたが置き換えたいくつかの解決策NR % 2
(→偶数行番号):
awk 'BEGIN {OFS=FS=","} {print $0,(NR % 2 ? "True": "False")}' << 'EOF'
1,2,3,4
1,2,3,4
1,2,3,4
1,2,3,4
EOF
スクリプトで背中を使用して列を$1
参照し、以下を確認します。$2
awk
出力:
1,2,3,4,True
1,2,3,4,False
1,2,3,4,True
1,2,3,4,False
エスケープされたカンマ(引用符など\,
)はサポートされていません。