如何使用shell脚本解析文件

时间:2015-05-26 17:14:58

标签: linux shell

我有一个文件:

abc@gmail.com
dba@gmail.com
xyz@gmail.com
//abc@gmail.com
//dba@gmail.com
//xyz@gmail.com
abc@gmail.com
dba@gmail.com
xyz@gmail.com

我想编写一个解析文件的脚本,并且首次出现说abc @gmail它应该保持不变,如果发现“//”则发生其他情况,否则在开始时添加“//”所有其他事件。

1 个答案:

答案 0 :(得分:2)

您可以使用此awk命令:

awk '$1 in seen && !/^[[:blank:]]*\/\// { $0 = "//" $0 } !seen[$1]++{} 1' file
abc@gmail.com
dba@gmail.com
xyz@gmail.com
//abc@gmail.com
//dba@gmail.com
//xyz@gmail.com
//abc@gmail.com
//dba@gmail.com
//xyz@gmail.com