`sed` で検索文字列を含む行の行番号だけを出力する方法
はじめに
検索文字列を含む行の 「行番号」 だけを出力させたいときの方法について。sed
を使って実現できます。
検証環境
sed
の =内部コマンド
を利用する
sed
の =
というコマンドを利用します。
このコマンドは非常にシンプルなものであまり使いみちがないと思っていたのですが、検索した結果の「行番号」を取得したいケースがあり、その時だけ活用できました。
早速試してみます。
百人一首のなかから特定も文字列を含む行の行番号だけをピックアップしてみます。
以下のコマンドでひらがなだけの百人一首データをダウンロードします。
昔からこどもたちと一緒に遊んでいました。
なんとなく「なには」の文字の登場比率が多いと思っていました。
これを含む行を調べてみます。
3 件見つかりました。
これらが何行目に登場するのかを調べるには、 grep
が利用できます。
ただ、この方法だとファイル名が出力されてしまいます。
「行番号だけ」 が欲しい場合には以下のようなコマンドが利用できます。
結果が正しいか確認しています。
正しい結果が出力されました。
ディスカッション
コメント一覧
「ひらがなだけの百人一首データ」
https://labo.genzouw.com/2019-07-08/hyakuninissyu.txt
がなく、Googleで検索しましたが見つかりませんでした。
もし、このデータの場所を知っていましたら、教えてほしいです。
よろしくお願いします。
コメントありがとうございます。
おっしゃるとおり、ファイルが消えてしまっていたので改めてアップロードし直しました。
URLが変わっていますのでご注意ください!