[英]Bash find line number
我有這個腳本:
find . -name "$2" -print | xargs grep --colour=auto "$1"
它在$ 2匹配文件中搜索$ 1字。 如何打印已找到該單詞的行號。
謝謝
您不需要在這里使用find
和xargs
。 您可以像這樣使用遞歸grep:
grep -RHn --colour=auto "$1" --include='$2' .
選項:
-n # for printing line numbers
-R # for recursive grep
-H # for printing file names
從man grep
:
-n, --line-number
Prefix each line of output with the 1-based line number within its input file. (-n is specified by POSIX.)
要獲得行號,您可以使用
grep -n 'regex' | sed 's/^\([0-9]\+\):.*$/\1/'
或者你可以簡單地使用sed:
sed -n '/regex/=' file
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.