を使用していくつかの行を抽出したいと思います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