修改文件以使用脚本删除重复出现

时间:2017-06-14 15:14:11

标签: shell file repeat

输入

# FILE:app/src/file1.c, something_over_here
something_over_here
# FILE:app/src/file1.c, something_over_here
something_over_here
# FILE:app/src/file2.c, something_over_here
something_over_here
# FILE:app/src/file2.c, something_over_here
something_over_here
...........

输出

# FILE:app/src/file1.c, something_over_here
something_over_here
# FILE:app/src/file2.c, something_over_here
something_over_here
..........

我有一个输入文件,其中包含重复出现的具有相同文件名的行。我需要删除除每个文件名的第一次出现之外的所有内容。我该怎么办?我对脚本(python / shell)不太熟悉。我需要知道继续前进的方向。

1 个答案:

答案 0 :(得分:0)

对你真正想要的东西做出许多假设,试试:

awk '/^#/ {p=H[$2]++} !p ' input > output

这只是扫描文件并在看到以“#”开头的行时递增计数器。为每个文件名保留计数器(以注释开头的行中的第2列),如果之前看到过最近看到的文件的计数器,则不会打印一行。