shell找文件內字串重複的數量 - Linux

Table of Contents

請問一下
我有一個檔案 裡面會紀錄一堆內容
格式是
開始時間|結束時間|事件|內容|狀態

正常情況下 同一個開始時間會有兩筆資料
請問我該如何列出某事件 開始時間只有一筆資料的

grep XXXXX 檔案名稱 > text.txt
uniq -u text.txt
不過這樣只能用行去比 請問我該如何只比該行的某幾個位字呢?
請各位大神給我一個方向即可 不知要用什麼關鍵字去查

例如

檔案
2019-05-01-14.22.11|2019-05-01-14.22.11|XXXXX|內容
XXXXXIYOWUW穿插的無用資訊
2019-05-01-14.23.01|2019-05-01-14.23.01|XXXXX|內容
SDWSW無用資訊
2019-05-01-14.22.11|2019-05-01-14.23.03|XXXXX|內容
TTTT無用資訊

我只想列出
2019-05-01-14.23.01|2019-05-01-14.23.01|XXXXX|內容

這筆資料

--

All Comments

Carolina Franco avatarCarolina Franco2019-05-02
看不懂你的例如, 跟你說的 "只有一筆資料" 有啥關聯
Hedda avatarHedda2019-05-03
喔... 看懂了...
John avatarJohn2019-05-03
uniq 好像只能忽略前面的 n fields or n chars
Odelette avatarOdelette2019-05-07
cat filename |sort|awk -F\| '{count[$1]++;if(str!=
""&&str!=$1&&count[str]<2){print line};str=$1;line
Necoo avatarNecoo2019-05-12
=$0}END{if(count[str]<2){print line}}'
用 awk 硬湊...
Ina avatarIna2019-05-15
uniq 可以用 -w 只比對前 n 個字元
Joe avatarJoe2019-05-15
sort 檔案名稱 | uniq --check-chars=19 --unique
Blanche avatarBlanche2019-05-18
原來是 macOS 的 uniq 沒有 -w ... 才在想好像用過,
但是 man 不到@@
Anthony avatarAnthony2019-05-22
似乎要用 GNU coreutils 版本的 uniq 才有 -w
Kyle avatarKyle2019-05-23
所以 Mac 或 BSD-like 的平臺需要的話可能要自行找套件
Heather avatarHeather2019-05-28
QQ
Skylar DavisLinda avatarSkylar DavisLinda2019-05-31
我的看起來不能用 -w 感覺大大們的資訊 謝謝