我有这两个正则表达式:
find ... | xargs perl -pi -e 's/\t/ /g'
find ... | xargs perl -pi -e 's/[^\S\n]+$//g'
第一个将标签更改为4个空格,第二个删除每行末尾的任何尾随空格。
我很想把两者结合起来,但不想破坏某些东西。此外,他们正在做不同的事情 - 一个是添加空格,另一个是删除空格。有没有一种安全的方法将这两者合并在一起,或者只是将它们保留原样?
答案 0 :(得分:5)
你可以这样做:
find ... | xargs perl -l -pi -e 's/\t/ /g; s/\s+$//'
由于第二个find
正在对第一个perl
的结果进行操作,因此在单个{{1}}调用中连续执行每个命令是安全的。
答案 1 :(得分:4)
我会将表达式分开,但你可以通过一次调用perl来执行它们:
find ... | xargs perl -pi -e 's/\t/ /g;' -e 's/[^\S\n]+$//g;'