我有一个文本文件,其中包含以下形式的一些行
*,[anything, even blanks],[dog|log|frog],[dog|log|frog],[0|1],[0|1],[0|1]
我想删除具有相同 *
值的重复行(不区分大小写),即 剩下的任何内容,[任何内容,甚至是空白] ,[狗|日志| Frog ],[狗|日志| Frog ],[0|1],[0|1],[0|1]
例如这是一个示例文本文件
test,bar,log,dog,0,0,0
one
foo,bar,log,dog,0,0,0
/^test$/,bar,log,dog,0,0,0
one
FOO,,frog,frog,1,1,1
生成的文本文件应该删除重复的 foo
(顺序对我来说无关紧要,只要删除重复项,留下 1 个唯一的)
test,bar,log,dog,0,0,0
one
/^test$/,bar,log,dog,0,0,0
one
FOO,,frog,frog,1,1,1
我可以执行的最简单的 bash 命令是什么?
最佳答案
awk -F, '!seen[tolower($1)]++' file
关于regex - 使用正则表达式从行中提取子字符串并删除具有重复子字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404384/