ファイルからn行目を取得するBashツール 質問する

ファイルからn行目を取得するBashツール 質問する

それを実行する「標準的な」方法はありますか? 私は、head -n | tail -1うまく機能する を使用してきましたが、ファイルから特定の行 (または行の範囲) を抽出する Bash ツールがあるかどうか疑問に思っていました。

「標準的」とは、主な機能がそれを実行するプログラムを意味します。

ベストアンサー1

headtail巨大なファイルの場合、パイプによる処理は遅くなります。sed次のようにすることをお勧めします。

sed 'NUMq;d' file

は印刷する行の番号ですNUM。たとえば、sed '10q;d' fileの 10 行目を印刷するには、となりますfile

説明:

NUMq行番号が になるとすぐに終了しますNUM

dq行を印刷する代わりに削除します。これは、終了時にスクリプトの残りの部分がスキップされるため、最後の行では禁止されます。

NUM変数に値がある場合は、単一引用符ではなく二重引用符を使用する必要があります。

sed "${NUM}q;d" file

おすすめ記事