我想知道哪些是在文本文件中重複X次的線條,我使用的是awk
但我在我的命令中看到了awk
,不適用於線條從相同的字符或單詞開始。也就是說,不會單獨識別整條線。在Bash中使用awk重複線條
使用此命令我試圖讓那些重複3次行:
awk '++A[$1]==3' ./textfile > ./log
我想知道哪些是在文本文件中重複X次的線條,我使用的是awk
但我在我的命令中看到了awk
,不適用於線條從相同的字符或單詞開始。也就是說,不會單獨識別整條線。在Bash中使用awk重複線條
使用此命令我試圖讓那些重複3次行:
awk '++A[$1]==3' ./textfile > ./log
這是你需要什麼希望:
awk '{a[$0]++}END{for(i in a){if(a[i]==3)print i}}' File
增量陣列a
與線($0
)作爲每行的索引。最後,對於每個索引($0
),檢查計數(a[i]
是否爲原始a[$0]
)等於3
。如果是這樣,打印行(i
,這是最初的$0
/行)。希望很清楚。
我明白了,謝謝! –
這將返回線路重複3次,但每3倍重複行的開頭添加一個空格:
sort ./textfile | uniq -c | awk '$1 == 3 {$1 = ""; print}' > ./log
您正在使用'$ 1'這是該行的第一個字段。如果你想要整行你想使用'$ 0'。此外,這將觸發任何文件中至少有三個副本的行,而不僅僅是文件中的三個副本。 –