[问题] shell找文件内字串重复的数量

楼主: clv (慢慢習慣成為大叔)   2019-05-01 13:14:19
请问一下
我有一个档案 里面会纪录一堆内容
格式是
开始时间|结束时间|事件|内容|状态
正常情况下 同一个开始时间会有两笔资料
请问我该如何列出某事件 开始时间只有一笔资料的
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|内容
这笔资料
作者: rickieyang (Rickie Yang)   2019-05-01 14:08:00
看不懂你的例如, 跟你说的 "只有一笔资料" 有啥关联喔... 看懂了...uniq 好像只能忽略前面的 n fields or n charscat filename |sort|awk -F\| '{count[$1]++;if(str!=""&&str!=$1&&count[str]<2){print line};str=$1;line=$0}END{if(count[str]<2){print line}}'用 awk 硬凑...
作者: Gold740716 (项为之强)   2019-05-01 22:52:00
uniq 可以用 -w 只比对前 n 个字符sort 档案名称 | uniq --check-chars=19 --unique
作者: rickieyang (Rickie Yang)   2019-05-02 00:19:00
原来是 macOS 的 uniq 没有 -w ... 才在想好像用过,但是 man 不到@@
作者: holishing   2019-05-02 00:59:00
似乎要用 GNU coreutils 版本的 uniq 才有 -w所以 Mac 或 BSD-like 的平台需要的话可能要自行找套件
作者: Gold740716 (项为之强)   2019-05-02 01:15:00
QQ
楼主: clv (慢慢習慣成為大叔)   2019-05-03 00:04:00
我的看起来不能用 -w 感觉大大们的资讯 谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com