複数行でawkを実行する方法は?

複数行でawkを実行する方法は?

を使用していくつかの行を抽出したいと思いますawk。次のことを行うことは可能ですか?

ls -l | awk 'BEGIN FOR(i=122;i<=129;i++) FNR==i'

122~129行の詳細をどのように表示しますか?

ベストアンサー1

あなたはそれがどのように機能するのか理解していませんawk。指定された「プログラム」はいつも入力の各行(またはawkという用語で「レコード」)に対して1回実行され、必要FORや類似の構成は必要ありません。ちょうど使用:

詳細な方法

ls -l | awk 'NR>=122 && NR<=129 { print }'

よりコンパクトなアプローチ

ls -l | awk 'NR==122,NR==129'

これは通常、処理中の現在の行であるNR「番号付きレコード」の範囲を提供します。awk

おすすめ記事