このようなファイルがあります。
IMS00|20140101|Unix|Jan14
IMS01|20140201|Unix|Feb14
IMS02|20140301|Unix|Mar14
IMS03|20140101|Unix|Jan14
IMS04|20140201|Unix|Feb14
私の基準は、列1の値がある場合はIMS00
列4の値をJan14
に置き換え、Jan15
列1の値がある場合はIMS01
列4の値をFeb14
に置き換える必要があることですFeb15
。
これはどのように達成できますか?
ベストアンサー1
あなたの質問は非常に明確ではありません。たとえば、あなたが書いたコードでは、ドットとして後でIMS00
呼び出されます。また、代わりにIMS.00
列数を変更することも可能でなければなりません。とにかく、あなたは探しているでしょう4
3
awk 'BEGIN{FS=OFS="|"}$1=="IMS00"{$4="Jan15"}$1=="IMS01"{$4="Feb15"}1' file
このBEGIN
ブロックは最初に一度だけ実行され、フィールド区切り記号FS
と出力フィールド区切り記号OFS
をに設定します|
。結局、すべてを印刷します1
。