在 xargs 命令中将不同的正则表达式组合在一起



我有两个正则表达式:

find ... | xargs perl -pi -e 's/t/    /g'
find ... | xargs perl -pi -e 's/[^Sn]+$//g'

第一个将制表符更改为 4 个空格,第二个删除每行末尾的任何尾随空格。

我很想将两者结合起来,但又不想破坏某些东西。 此外,他们正在做不同的事情 - 一个是添加空格,另一个是删除空格。 有没有一种安全的方法将这两者合并在一起或保持原样?

你可以这样做:

find ... | xargs perl -l -pi -e 's/t/    /g; s/s+$//'

由于第二个find对第一个的结果进行操作,因此在单个perl调用中连续执行每个命令是安全的。

我会将表达式分开,但您可以通过对perl的一次调用来执行它们:

find ... | xargs perl -pi -e 's/t/    /g;' -e 's/[^Sn]+$//g;'

相关内容

  • 没有找到相关文章

最新更新