次のレコードを含むファイル番号.txtがあります。
番号.txt:
123456,2711448,1,14-Feb-15 09:24:25,14-Jul-15 09:24:25,120,20150814163821,13-Aug-15 09:24:25,,,12-Sep-15 09:24:25,,,12-Oct-15 09:24:25,,,11-Nov-15 09:24:25,,,11-Dec-15 09:24:25,,,10-Jan-16 09:24:25,,,,,,,,,,,,12-Sep-15 09:24:25,Y
ここで、awk
コマンドで次の条件を使用し、条件が一致した場合はすべての列を印刷したいと思います。
awk -F"," '{ if($6 == 120) print }' number.txt
条件が一致したら、最後の列にNを印刷したいと思います。
希望の出力は次のとおりです。
出力:
123456,2711448,1,14-Feb-15 09:24:25,14-Jul-15 09:24:25,120,20150814163821,13-Aug-15 09:24:25,,,12-Sep-15 09:24:25,,,12-Oct-15 09:24:25,,,11-Nov-15 09:24:25,,,11-Dec-15 09:24:25,,,10-Jan-16 09:24:25,,,,,,,,,,,,12-Sep-15 09:24:25,N
ベストアンサー1
印刷ジョブに必要な文字列を追加すると、これを行うことができます。コードでは次のようになります。
awk -F"," '{OFS=FS}{ if($6 == 120){$NF="N"; print $0}}' number.txt
ここで
{OFS=FS}
出力ファイルをソートするために、awk
コードは条件が真であることを確認し、そうであれば操作を実行し、最初に最後のフィールドを変更してレコード全体を印刷します$NF
。"N"
print $0