Shell-Script

找出文本文件中的哪一行與單詞匹配

  • March 28, 2022

有什麼方法可以找出文本文件的哪一行是某個與模式匹配的單詞,例如與 grep 或其他東西匹配。謝謝。

是的,可以-n選擇grep.

來自man grep

-n, --line-number
             Prefix each line of output with the 1-based line number within its input file.

例如,如果您有一個名為file.txt具有以下內容的文件:

this is
foo test
and this is
bar test

現在的輸出grep -n "test" file.txt

$ grep -n "test" file.txt 
2:foo test
4:bar test

這裡的 2 和 4 表示找到模式的行號。

grep方法是最簡單的,但這些都將列印行匹配的行號pat

  1. Perl
perl -lne 'print $. if /pat/' file
  1. awk
awk '/pat/{print NR}' file
sed -n '/pat/=' file

引用自:https://unix.stackexchange.com/questions/190369