Chr*_*s C 4 text-processing csv
对于 3 列 csv 文件,list.csv您将如何删除第一个字段匹配的后续重复行,以及第二个字段匹配的前 3 个字符?某些行将具有少于 3 个字符的第二个字段。
列表.csv:
12,12345,a
12,12345,b
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,56712,a
567,56734,a
567,6789,a
Run Code Online (Sandbox Code Playgroud)
预期输出:
12,12345,a
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,6789,a
Run Code Online (Sandbox Code Playgroud)
sort 也应该工作
sort -t, -k1,1 -k2.1,2.3 -u <list.csv
12,12345,a
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,6789,a
Run Code Online (Sandbox Code Playgroud)
awk -F, '!seen[$1,substr($2,1,3)]++' list.csv
12,12345,a
123,12345,a
1234,12,b
1234,12345,a
567,567,a
567,6789,a
Run Code Online (Sandbox Code Playgroud)