簡體   English   中英

Bash查找行號

[英]Bash find line number

我有這個腳本:

find . -name "$2" -print | xargs grep --colour=auto "$1"

它在$ 2匹配文件中搜索$ 1字。 如何打印已找到該單詞的行號。

謝謝

您不需要在這里使用findxargs 您可以像這樣使用遞歸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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM