如何在Linux中正确使用sed

时间:2018-11-06 06:05:05

标签: linux sed scripting

我在当前工作目录中有一个带有文件的文件夹

./folder/sample

文件的内容包含一些导出命令和#行,我如何删除所有这些行来获得输出,我不知道如何在这里使用Sed令人困惑。

示例文件中的内容是这样的

#helloworld

export a=foo
export b=hello

#helloworld2

export c=king
export d=queen

预期输出应删除#(注释行),导出单词和空行,输出应如下所示。

a=foo
b=hello
c=king
d=queen

,它还应该动态地重命名同一文件夹中的文件。

./folder/rename-sample

请让我知道如何使用正确的SED命令来实现这一目标。

1 个答案:

答案 0 :(得分:2)

您可以使用以下命令完成任务:

sed '/^\(#\|$\)/d;s/^export //' ./folder/sample > ./folder/rename-sample
  • /^\(#\|$\)/匹配空白行和以#开头的行,
  • d删除匹配的行,
  • s/^export //从开头的行中删除export

有关更多信息,请参见this manual