从文件列表中删除匹配的行

时间:2013-04-09 16:59:00

标签: bash sed

我刚刚编写了一些代码,这使得语言环境属性变得多余。因此,我希望它能够从项目的每个语言环境文件中删除该属性,但我根本找不到这样做的方法,我最终在vim中手工完成。

现在,我不是UNIX黑带,但我知道必须有一个非常简单的解决方案来解决这个微不足道的问题,可能隐藏在sedawk的深处。所以我设法匹配属性(属性为no_outline):

sed -e '/no_outline=/d' l10n/*/viewer.properties

但是这只打印出每个文件的内容,没有no_outline行。是不是可以将sed命令的“结果”写入与执行时相同的文件中?

1 个答案:

答案 0 :(得分:2)

你可以:

sed -i '/no_outline=/d' l10n/*/viewer.properties

来自手册页:

   -i[SUFFIX], --in-place[=SUFFIX]

              edit files in place (makes backup if SUFFIX supplied)