Grep

如何查看搜尋文本的行號?

  • February 26, 2022

假設,我有一個名為的文本文件output.txt,其中包含 146 萬行數據。

我想27QL在文件中搜尋文本。

如果文本存在,Linux 應該返回行號。

我怎樣才能做到這一點?

我可以使用grep嗎?如果是,如何?

grep實用程序有一個標準選項 ,-n這將導致它在其普通輸出前面加上與grep模式匹配的行號。行號將用冒號與行的內容分隔。

grep -n -F -w '27QL' file

在這裡,我還使用了 non-standard-w選項來僅搜尋完整的單詞,這意味著我們不會匹配127QLor 27QLA。使用-F,你告訴grep你你的模式是一個字元串而不是一個正則表達式。

要從輸出中刪除實際數據(即僅提取行號),請將輸出傳遞給cut

grep -n -F -w '27QL' file |
cut -d : -f 1

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