SED / AWK多文件替换?

时间:2012-01-23 22:07:23

标签: regex sed awk

我一直试图找出一个可以搜索13个以上文件并替换的命令 表单数据的所有匹配和差异,并用表单数据增强替换它们。

诀窍是可能有[空白] - 或_作为我想要的分隔符 保存。我正在运行表单命令行,所以我相信我可以多次运行此脚本 时间,只需将其指向文件,或者是否有办法捕获目录中的所有文件 (甚至包括目录名称)它可能更容易。

我认为它符合

的要求
  

sed“s / forms_data / form-data-enhancements / g; s / forms-data / form-data-enhancements / g; s / forms data / form data enhancements / g”oldfile> newfile中

坚果我不确定.....

差异可能是

  

表单的数据

     

forms_data

     

表格数据

etcetra。有人会介意分享一些sed awk智慧吗?我能找到的最好的东西叫做arrary replace,但无法获得有关如何使用它的任何信息。

非常感谢。

1 个答案:

答案 0 :(得分:3)

这对你有用吗?

sed -i 's/\<forms[ -_]data\>/form data enhancements/g' /path/to/files*

-i将进行文件内替换。因此,首先选择一个文件并运行不带-i选项的命令。如果一切正常,那么您可以继续使用-i

更新

如果您想保留分隔符,那么您可以执行以下操作 -

sed -i 's/\<forms\([ -_]\)data\>/form\1data\1enhancements/' /path/to/files*