このようなファイルの列をどのように変更できますか?

このようなファイルの列をどのように変更できますか?

テキストファイルがあり、各行は次のように保存されます。

"Video or movie"    "parent"    "Media or entertainment"    "1" "1" "1" "0" "0"

3列目を2列目に変更したいです。

"Video or movie"   "Media or entertainment"  "parent"   "1" "1" "1" "0" "0"

シェルスクリプトや他のスクリプト言語を使用してLinuxでこれを行うには?最も簡単で迅速な方法が必要です。

ベストアンサー1

これはフィールド区切り文字をawk使用して行うことができます"。しかし、これを行うときは空で$1$2最初の文字列を保持し、$3文字列の間にスペースがあり、$42番目の文字列などであることを覚えておく必要があります。また、すべてのフィールドを印刷して十分な値を入力するのではなく、2つの文字列を置き換える方が安定しています$n。これを念頭に置いて、次の作業が必要です。

awk 'BEGIN{OFS=FS="\""} {tmp=$4;$4=$6;$6=tmp;print}' input_file >output_file

おすすめ記事