0
文字列を見つけようとしています。 Unixの分離ファイル。私は以下のサンプルファイルを持っています。 文字列を見つけ、unixの4番目のフィールドを更新します。
ROSE.2017|D|5:00 AM||||
YELLOW.2017|D|5:00 AM||||
BLUE.2017|D|5:00 AM||||
は、文字列
YELLOW.2017
を検索し、見つけた場合、私は結果を下回るたい
YES
に対応するライン4番目のフィールドを更新します。
ROSE.2017|D|5:00 AM||||
YELLOW.2017|D|5:00 AM|YES|||
BLUE.2017|D|5:00 AM||||
私は以下のコマンドを使用しており、間違った結果になっています。
fname=YELLOW.2017
間違った結果
nawk -F'|' '$1=="'$fname'"{$4="YES"}1' filename.txt > filename1.txt
:
ROSE.2017|D|5:00 AM||||
YELLOW.2017 D 5:00 AM YES
BLUE.2017|D|5:00 AM||||
私のUnixのバージョンを使用すると、レコードを編集した場合、それは再建取得し、フィールドセパレータは、出力フィールドで更新されますSunOSの5.10
たぶん、あなたはそれがより一貫性に見えるように、あなたのテキストの書式を設定する必要があります。 –