ファイルの指定した行番号だけ表示する

こんにちは、minoruです。

ファイルの指定した行だけ、指定した行番号の行だけを表示する方法。

10行目だけ

sed -n 10p ファイル名

10~20行目だけ

sed -n 10,20p ファイル名

grepではなくsedを使う。

以下のように何行目かを変数で指定する事もできる。

a=3
cat hogehoge.txt | sed -n "$a"p

全部で10行あるファイルの、1行目と9~10行目だけを抽出したい場合は、上記のように一致箇所を抽出するのではなく、一致しない箇所を消すようにすれば良い。

sed '2,8d' ファイル名

これで1行目と9,10行目だけが残る。

sed '2,3d' ファイル名 | sed '5,8d'

みたいにすれば1行目・4行目・9,10行目だけ残す…みたいな飛び石での抽出も可能。

LinuxやUbuntuをこれから試してみたい!と言う人や、今までWindowsで使っていたPCをWindowsは残したままLinuxやUbuntuを活用してみたい人は以下の本がおすすめ!
https://amzn.to/3Vl1oNx

LinuxやUbuntuを使おうとして、初心者の人が最初に「?」となりやすいのがコマンドでしょう。使い方がわかればこれほど簡単で便利なものはありませんが、最初は戸惑うのが普通です。そんな初心者に向けてマンガで超わかりやすいコマンドについて学べるのはシス管系女子みんとちゃんの本!
https://amzn.to/3FMTx5v

シェアする

  • このエントリーをはてなブックマークに追加

フォローする