[解決済み] ファイル中のある文字列が出現する行番号を表示するには?
2022-03-11 09:22:12
質問
特定の単語があり、その単語がファイルの何行目に表示されているかを調べたいのですが。
これはcのシェルスクリプトで起こっていることです。
行番号を見つけるためにawkを弄ろうとしたのですが、今のところできません。その行番号も変数に代入したいのですが。
どのように解決しますか?
grepの使用
を探すには
word
を使い、行番号を表示します。
-n
オプションで
grep
:
grep -n 'word' file
これは、行番号とマッチした行の両方を表示します。
awkを使用する
という単語が何行目にあるかを表示します。
word
が表示されます。
awk '/word/{print NR}' file
この場合、行番号と
word
が表示されます。
awk '/word/{print NR, $0}' file
を置き換えることができます。
word
を好きな正規表現に置き換えてください。
どのように動作するのか
-
/word/
を含む行を選択します。
word
. -
{print NR}
選択された行について、行番号(NRはNumber of the Recordの意味)を表示します。 これを変更して、興味のある情報を表示することができます。 このように
{print NR, $0}
は、行番号の後に行そのものを表示します。$0
.
行番号を変数に代入する
コマンド置換を使用する
n=$(awk '/word/{print NR}' file)
シェル変数をパターンとして使用する
探している正規表現が、シェル変数
url
:
awk -v x="$url" '$0~x {print NR}' file
そして
n=$(awk -v x="$url" '$0~x {print NR}' file)
関連
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] テキストファイルから、特定の文字列を含むすべての行を削除するにはどうすればよいですか?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] あるディレクトリにあるすべてのコード行を再帰的にカウントするにはどうすればよいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] 特定のファイル/フォルダを除外してディレクトリをtarするシェルコマンド
-
[解決済み] シェルスクリプトからエコーを使わずにパスワードを取得する方法
-
[解決済み】$? (ドルクエスチョンマーク)変数とは?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
文字列 null with space エラー: 二項演算子が期待されています。
-
シェル [: -eq: 単項演算子が期待される
-
[解決済み] ファイル中のある文字列が出現する行番号を表示するには?
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] 複数のパターンのいずれかに一致するファイルを見つけるためにfindを使用する
-
[解決済み] シェルスクリプトでワイルドカードを使用してファイルが存在するかどうかを確認する【重複
-
[解決済み】sshのタイムアウトを設定する方法は?
-
[解決済み] POSIX shで文字列が他の文字列を含んでいるかどうかを判断するにはどうすればよいですか?
-
[解決済み] パターンの前に改行を挿入するには?
-
[解決済み] awk/sed で複数回発生する可能性のある 2 つのマーカーパターンの間の行を選択する方法