Shell
僅基於部分查找唯一行
我想知道是否有一種方法可以按某個字元(例如
:
)拆分行並根據此拆分的一部分找到唯一行。例如,如果我通過管道輸入以下內容
stdin
file1: line 4 file1: line 5 file1: line 6 file2: line 1 file2: line 2 file2: line 1 file53: line 67 file24: line 412
有沒有一種方法可以讓每個文件只提取一行,例如:
file1: line 4 file2: line 1 file53: line 67 file24: line 412
甚至更好:
file1 file2 file53 file24
多謝你們
這可以通過幾個常見的實用程序輕鬆完成:
cut -d : -f 1 input.txt | uniq
cut
從輸入文件中提取欄位。-d
表示分隔符(在本例中為 a:
),並-f 1
表示提取第一個欄位。uniq
從輸入中刪除重複的相鄰行
由於我所有的結果都具有相同的格式(文件在
src/
目錄中),我可以使用以下命令:
cat input.txt | tr ':' '\n' | grep 'src/' | uniq