sed命令,用字符串替换第3行等于之后的任何内容

sed命令,用字符串替换第3行等于之后的任何内容,sed,substitution,Sed,Substitution,我想用这条线代替 <data_item name="any_text"> 它在第三行 <data_item name="my_text"> 所以我尝试了类似于sed'3s/=*/=my\u text/'input\u file>output\u file 但这是在行首打印我的文本。尝试在(=*)和(=my_text)周围使用大括号,但没有任何作用。试试这个 sed '3s/any_text/my_text/' file 例如: $ echo '<dat

我想用这条线代替

<data_item name="any_text">

它在第三行

<data_item name="my_text">

所以我尝试了类似于
sed'3s/=*/=my\u text/'input\u file>output\u file

但这是在行首打印我的文本。尝试在
(=*)
(=my_text)
周围使用大括号,但没有任何作用。

试试这个

sed '3s/any_text/my_text/' file
例如:

$ echo '<data_item name="any_text">' | sed '1s/any_text/my_text/'
<data_item name="my_text">
您的代码将用
=mytext
sed'3s/=“*”/=“mytext”/“

应该有用。您需要
,因为它匹配任何字符,
*
表示您需要0个或更多前面的符号
。在正则表达式中,
*
并不表示匹配任何内容。它是一个量词,意味着它指定和数量,通常用于指定要匹配的前面术语的数量。

sed'3 c\
sed '3 c\
<data_item name="my_text">' YourFile
“你的档案
假设
my\u text
的内容不包含unescape
\
&
'

避免在samle指令中的同一文件上使用
,可能会产生意外结果。在GNU上的
-i
上使用临时文件

sed '3 c\
<data_item name="my_text">' YourFile