Grep

在多個文件上匹配時格式化 grep 的輸出

  • October 20, 2021

搜尋多個文件時,grep 的輸出如下所示:

{FILE}:{MATCH}

這是一個問題,因為如果我點兩下該{FILE}部分,我至少還會選擇(並複制):匹配項,可能還有一些匹配項。我怎樣才能讓 grep 來格式化它的輸出,如下所示:

{FILE} : {MATCH}

基本上,我想在列之前插入一個空格。(以及可選的之後)

grep -T將有 7/8 的時間工作。

% for f in a ab abc abcd abcde abcdef abcdefg abcdefgh; do echo pattern > $f; done
% grep -T pattern *
a      :pattern
ab     :pattern
abc    :pattern
abcd   :pattern
abcde  :pattern
abcdef :pattern
abcdefg:pattern
abcdefgh       :pattern

來自GNU grep 手冊

-T --initial-tab

確保實際行內容的第一個字元位於製表位上,以便製表符的對齊看起來正常。這對於將其輸出前綴為實際內容的選項很有用:-H-n-b. 為了提高來自單個文件的行都從同一列開始的可能性,這也會導致行號和字節偏移(如果存在)以最小大小的欄位寬度列印。

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