1. ホーム
  2. bash

[解決済み] ファイルからn行目を取得するBashツール

2022-03-18 21:43:20

質問

"canonical"のような方法はあるのでしょうか?私はこれまで head -n | tail -1 しかし、ファイルから特定の行(または行の範囲)を抽出するBashツールはないものかと考えています。

canonical"というのは、それを主機能とするプログラムのことです。

どのように解決するのですか?

head とパイプを tail は、巨大なファイルでは遅くなります。そこで sed このように

sed 'NUMq;d' file

ここで NUM は、印刷したい行の番号です。ですから、例えば sed '10q;d' file の10行目を表示させるには file .

説明する。

NUMq は、行番号が NUM .

d はその行を印刷する代わりに削除します。最後の行では q は、終了時にスクリプトの残りをスキップさせる原因となる。

もし NUM を変数に入れる場合は、シングルクォートではなくダブルクォートを使用します。

sed "${NUM}q;d" file