0

我想搜索整行并用 1 行或更多行替换该行。

例如,嗨,我在那儿。

我必须用这两条线替换它

你好我在那儿

阿伦来了

基本上我要做的是在匹配行之后插入一个新行。因为我不确定行号,我想我会搜索应该放置它的行,然后用 2 行替换这一行。是吗可能吗?我使用 var1 和 var 的代码是从 csv 文件中提取的,f 是文件名

"s@$Var1@$Var2@g" "$f"  
4

1 回答 1

3
 echo -e "Hi Im here\nLinetwo\nLine3" \
 | sed '/Hi Im here/a\
      Arun is here 

 '

输出

 Hi Im here
 Arun is here
 Linetwo
 Line3

这是老式的 sed 语法。它应该适用于其中任何一个。

请注意,在 之后不允许使用空格或制表符a\,并且“a”追加输入以空行终止,因此

 Arun is here
 (this is a blank line here, followed by the closing single quote for sed)
 '

IHTH

于 2012-09-20T20:24:31.603 回答