次の形式のファイルがある場合:
line1 column1
line2 columnA
line3 column1A
exclude this
line5 column2
line6 columnB
line7 column2B
column*
以前に印刷されるように熱を交換したいですline*
。awk
次の簡単なコマンドを使用して、次のawk '{print $2 " " $1}'
ような出力を取得します。
column1 line1
columnA line2
column1A line3
this exclude
column2 line1
columnB line2
column2B line3
今、あなたはその行を印刷しますが、順序を変えないようにしたいですexclude
(3回減らす必要はありません)。このコマンドを使用すると、その行を無視でき、awk '/exclude/{next}{print $2 " " $1}'
除外された行なしで出力されます。
column1 line1
columnA line2
column1A line3
column2 line1
columnB line2
column2B line3
列をawk
含むが並べ替えずに行を印刷する方法をどのように知ることができますか?exclude
そのため、次のように出力されます。
column1 line1
columnA line2
column1A line3
exclude this
column2 line1
columnB line2
column2B line3
答え1
それはまるで
awk '{if(/exclude/){print}else{print $2,$1}}' file.txt
あるいは、結果は同じですが、短いです。
awk '!/exclude/{$0=$2FS$1}1' file.txt