Linuxのパイプで区切られたファイルでは、パイプ5の後の00をスペースに置き換える必要があります。

Linuxのパイプで区切られたファイルでは、パイプ5の後の00をスペースに置き換える必要があります。

00パイプで区切られたファイルでスペースを置き換える必要がありますが、5番目のパイプの後に表示される場合にのみ可能です00。私はLinuxを使用しています。私は試した:{sed 's/00/\ /6' input.txt > output.txt}

サンプル:

FIELD1|FIELD2|FIELD3|FIELD4|FIELD5|FIELD6
ABC|DE|GGH|Y|FFHT|00
ABC|DE|GGH|00|FFHT|Y
ABC|DE|GGH|N|FFHT|N
ABC|DE|GGH|OO|FFHT|

私は次の結果が欲しい:

FIELD1|FIELD2|FIELD3|FIELD4|FIELD5|FIELD6
ABC|DE|GGH|Y|FFHT|  
ABC|DE|GGH|00|FFHJ|Y
ABC|DE|GGH|N|FFHK|N
ABC|DE|GGH|OO|FFHU|  

ベストアンサー1

提供した例では、必要なものは次のとおりです。

$ sed 's/|00$/|/' file
FIELD1|FIELD2|FIELD3|FIELD4|FIELD5|FIELD6
ABC|DE|GGH|Y|FFHT|
ABC|DE|GGH|00|FFHT|Y
ABC|DE|GGH|N|FFHT|N
ABC|DE|GGH|OO|FFHT|

または、6つ以上のフィールド入力に対してより強力で柔軟です。

$ awk 'BEGIN{FS=OFS="|"} $6=="00"{$6=""} 1' file
FIELD1|FIELD2|FIELD3|FIELD4|FIELD5|FIELD6
ABC|DE|GGH|Y|FFHT|
ABC|DE|GGH|00|FFHT|Y
ABC|DE|GGH|N|FFHT|N
ABC|DE|GGH|OO|FFHT|

おすすめ記事