awkを使用して2行の後に新しい単語を印刷する方法

awkを使用して2行の後に新しい単語を印刷する方法

使用するファイル内の2行の後に空白行を挿入する必要があります。

cat rat     hat
pot NOT     lot
big big     big
sit sit     sit
awk '{print};(NR%2==0){print ""}'
cat rat     hat
pot NOT     lot

big big     big
sit sit     sit

実際、私の主な目標は、2行ごとに新しい単語を挿入することですが、理解できません。

3番目の列の別のファイルに<= 6000個の名前があり、この列にも.(ドット)のみの名前がほとんどないので、どうすればよいですか?

第二に、最後の行の後に空白行をしたくありません。

答え1

2行ごとに固定WORDを挿入すると完璧に見えます。

awk '{print}
     (NR%2==0){printf "WORD\n"}'

最後の行を挿入しないことをお勧めします。

awk 'NR>2 && (NR%2==1) {printf "WORD\n"}
 { print ; }' 

行の列数は重要ではありません。

推測だけですが、決まっている言葉ではありませんか?一行?最後のもの?

awk 'NR>2 && (NR%2==1) {printf "%s\n",last}
 { print ; last=$NF ; }' 

これにより、他のすべての行の最後の単語が印刷されます。

$NF3回目を得るには交換してください$3

プログラムを作成することは単なるコードではなく、達成しようとしている目標を他の人(そして自分自身)に説明できることです。

答え2

awkを使用すると、行番号が偶数のときに新しい単語を印刷できます。

awk '{{print $0}if(NR%2==0)print "word"}' 

関連情報