それを実行する「標準的な」方法はありますか? 私は、head -n | tail -1
うまく機能する を使用してきましたが、ファイルから特定の行 (または行の範囲) を抽出する Bash ツールがあるかどうか疑問に思っていました。
「標準的」とは、主な機能がそれを実行するプログラムを意味します。
ベストアンサー1
head
tail
巨大なファイルの場合、パイプによる処理は遅くなります。sed
次のようにすることをお勧めします。
sed 'NUMq;d' file
は印刷する行の番号ですNUM
。たとえば、sed '10q;d' file
の 10 行目を印刷するには、となりますfile
。
説明:
NUMq
行番号が になるとすぐに終了しますNUM
。
d
q
行を印刷する代わりに削除します。これは、終了時にスクリプトの残りの部分がスキップされるため、最後の行では禁止されます。
NUM
変数に値がある場合は、単一引用符ではなく二重引用符を使用する必要があります。
sed "${NUM}q;d" file