0
我有這樣刪除重複的線(僅限第一部分)
ABC|Hello1
ABC|Hello2
ABC|Hello3
DEF|Test
GHJ|Blabla1
GHJ|Blabla2
名單,我希望它是這樣的:
ABC|Hello1
DEF|Test
GHJ|Blabla1
,所以我想刪除重複項之前的每行:| ,只讓第一個在那裏。
我有這樣刪除重複的線(僅限第一部分)
ABC|Hello1
ABC|Hello2
ABC|Hello3
DEF|Test
GHJ|Blabla1
GHJ|Blabla2
名單,我希望它是這樣的:
ABC|Hello1
DEF|Test
GHJ|Blabla1
,所以我想刪除重複項之前的每行:| ,只讓第一個在那裏。
使用awk
$ awk -F"|" '!seen[$1]++ {print $0}' file
ABC|Hello1
DEF|Test
GHJ|Blabla1
訣竅這裏的簡單方法是設置適當的字段分隔"|"
在這種情況下,之後的各列可被訪問逐列開始$1
。在這個答案中,我維護一個唯一值數組seen
,並且只有在以前沒有看到$1
的值時纔打印該行。
Notepad ++不是一種編程語言... – Chisko
您使用的是什麼語言? – Chisko
你想說這些「重複」行是連續的嗎?所有的'ABC'行都在另一個之下?如果是,您可以在Notepad ++中使用'^(([^ | \ n] + \ |)。*)(?:\ R \ 2。*)+''''1'替換。 –