删除文件中每行的前缀,并使用sed输出到另一个文件

时间:2017-11-16 17:49:17

标签: bash unix sed

我有一个源代码文件,其中的注释以//为前缀(即双斜线和空格),我想将源代码转换为文档,所以我尝试cat file.c并将其传递给sed,其思路是取代"双斜线和空格"如果一行以它开头,带有空字符串,但看起来斜杠在sed中有一些特殊含义,那么构造sed参数的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

斜杠只有在允许的情况下才有意义。

sed 's#^// +##' < file.c

答案 1 :(得分:1)

如果您想从/中移除sed的特殊含义,则以下内容可能对您有所帮助。

sed 's/^\/\/ //g'  Input_file

所以我在此前使用/转义\,因此它将被视为字面字符,而不是代码中的特殊含义。此外,如果您对上述命令的结果感到满意,请使用-i保存Input_file本身的更改。希望这会有所帮助。