我正在尝试为Xcode编写一个Automator shell脚本,以使我的导入列表独一无二。诀窍是,我不希望它们排序。所以我发现这个perl魔法几乎完美无缺:
# Print all unique lines
perl -ne 'print unless $a{$_}++'
唯一的问题是它删除了#imports之间的所有空格。我喜欢按照他们的功能对进口进行分组......
//Model
#import This.h
#import That.h
// ViewControllers
#import ThisView.h
#import ThatView.h
...所以我想保留空格。
上面的咒语是否有一些变化会忽略空格?如果没有,还有另一种方法可以影响这个吗?
答案 0 :(得分:5)
这样的事情:
perl -ne 'print unless /\S/ && $a{$_}++'
“打印除非该行包含非空白字符并且已存在于您的哈希”
中答案 1 :(得分:3)
如果您只想影响导入,可能最简单的解决方法是将重复数据删除限制为以#
开头的行。
perl -ne 'print unless /^\s*#/ && $a{$_}++'