所以我想要一个gvim或sed命令,该命令将在第一个匹配项(//)之前插入一个字符串(new_string)。例如
Say the input is --> hi hola //Comment
Then the output expected is --> hi hola new_string //Comment
因此,基本上我想在//
第一次出现之前添加一个字符串。我尝试了sed命令
sed 's/\<\/\/\>/Really &/' file
但是,这不适用于//
子字符串。
答案 0 :(得分:1)
Exception in thread "main" java.lang.NullPointerException
at ex7_imageSmoother.main(ex7_imageSmoother.java:101)
和\<
是单词边界,而\>
是非单词字符。 //
期望下一个字符为单词char,并且必须在行开头或非单词char之前。 \<
期望字符串或非单词char的结尾紧接在右边,而单词char紧接在左边。因此,没有匹配项。
此外,如果在模式或RHS中使用反斜杠,则最好使用\>
以外的正则表达式定界符。
使用
/
每行用sed 's,//,new_string &,' file > newfile
替换//
。如果需要替换整个文件中的第一个匹配项,请参见How to use sed to replace only the first occurrence in a file?