我在许多文件中都有关于时间戳的评论:
/****** Object: StoredProcedure [dbo].[some_stored_procedure] Script Date: 07/28/2015 11:01:13 ******/
我想用空注释替换它们
/* */
我知道评论是在每个文件的第3行。我可以使用awk '!(NR==3)'
将其删除,但我想将行号保留在文件中,因此我想添加一个空注释。怎么做?
答案 0 :(得分:4)
您可以使用:
awk 'FNR==3{print "/* */";next}1' file > new_file
<强>解释强>
FNR==3{print "/* */";next}
:当到达该字段的第三行时,打印 void comment 并跳过next
1
:打印当前行。
gawk
实施,则可以Inplace 替换:
gawk -i inplace 'FNR==3{print "/* */";next}1' file
检查:http://www.gnu.org/software/gawk/manual/html_node/Extension-Sample-Inplace.html
答案 1 :(得分:3)
(c)改变第3行
$("#CopyNews").dialog( "close" );
或
sed '3 c\
/* */' YourFile > NewFile
可能会添加一些安全性
sed '3 s#.*#/* */#' YourFile > NewFile
如果以sed '3 { \#^[[:blank:]]*/[*]\{1,\}# c\
/* */
}' YourFile > NewFile