Shell-Script
找出文本文件中的哪一行與單詞匹配
有什麼方法可以找出文本文件的哪一行是某個與模式匹配的單詞,例如與 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
:
- Perl
perl -lne 'print $. if /pat/' file
- awk
awk '/pat/{print NR}' file
- 但
sed -n '/pat/=' file