我在当前工作目录中有一个带有文件的文件夹
./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命令来实现这一目标。
答案 0 :(得分:2)
您可以使用以下命令完成任务:
sed '/^\(#\|$\)/d;s/^export //' ./folder/sample > ./folder/rename-sample
/^\(#\|$\)/
匹配空白行和以#
开头的行,d
删除匹配的行,s/^export //
从开头的行中删除export
。有关更多信息,请参见this manual。