忽略perl中的空行?

时间:2013-02-09 09:48:42

标签: xcode perl automator

我正在尝试为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

...所以我想保留空格。

上面的咒语是否有一些变化会忽略空格?如果没有,还有另一种方法可以影响这个吗?

2 个答案:

答案 0 :(得分:5)

这样的事情:

perl -ne 'print unless /\S/ && $a{$_}++'

“打印除非该行包含非空白字符并且已存在于您的哈希”

答案 1 :(得分:3)

如果您只想影响导入,可能最简单的解决方法是将重复数据删除限制为以#开头的行。

perl -ne 'print unless /^\s*#/ && $a{$_}++'