看板 Linux 關於我們 聯絡資訊
請問一下 我有一個檔案 裡面會紀錄一堆內容 格式是 開始時間|結束時間|事件|內容|狀態 正常情況下 同一個開始時間會有兩筆資料 請問我該如何列出某事件 開始時間只有一筆資料的 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|內容 這筆資料 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.184.75 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1556687661.A.158.html
rickieyang: 看不懂你的例如, 跟你說的 "只有一筆資料" 有啥關聯 05/01 14:08
rickieyang: 喔... 看懂了... 05/01 14:10
rickieyang: uniq 好像只能忽略前面的 n fields or n chars 05/01 14:25
rickieyang: cat filename |sort|awk -F\| '{count[$1]++;if(str!= 05/01 14:26
rickieyang: ""&&str!=$1&&count[str]<2){print line};str=$1;line 05/01 14:26
rickieyang: =$0}END{if(count[str]<2){print line}}' 05/01 14:27
rickieyang: 用 awk 硬湊... 05/01 14:27
Gold740716: uniq 可以用 -w 只比對前 n 個字元 05/01 22:52
Gold740716: sort 檔案名稱 | uniq --check-chars=19 --unique 05/01 22:54
rickieyang: 原來是 macOS 的 uniq 沒有 -w ... 才在想好像用過, 05/02 00:19
rickieyang: 但是 man 不到@@ 05/02 00:19
holishing: 似乎要用 GNU coreutils 版本的 uniq 才有 -w 05/02 00:59
holishing: 所以 Mac 或 BSD-like 的平臺需要的話可能要自行找套件 05/02 01:01
Gold740716: QQ 05/02 01:15
clv: 我的看起來不能用 -w 感覺大大們的資訊 謝謝 05/03 00:04