Ack

ack 不在單個文件上顯示行號

  • May 4, 2015

我正在使用 ack 搜尋字元串。當我在沒有文件參數的情況下執行它時,我得到行號:

$> ack function
themes/README.txt
7:Drupal's sub-theme functionality to ensure easy maintenance and upgrades.

sites/default/default.services.yml
48:    # - The dump() function can be used in Twig templates to output information

...

但是當我嘗試指定一個文件時,我沒有得到行號。

$> ack function themes/README.txt
Drupal's sub-theme functionality to ensure easy maintenance and upgrades.

我已經為開關做了一些Google搜尋,但沒有找到任何結果。如何讓我確認顯示單個文件結果的行號?

當您不提供任何文件時,ack將搜尋目前目錄和子目錄中的所有文件。如果文件包含匹配模式,ack則列印該文件名、行號和匹配模式的行。

此行為不適用於一個文件(請參閱ack 文件,搜尋-H選項)。

由於 whenack沒有-n選項 line grep,它將列印與其相對行號匹配的行,因此您有兩種選擇來解決此問題。

強制ack列印文件名-H

ack -H pattern file

/dev/null或作為第二個文件傳遞:

ack pattern file /dev/null

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