Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 带特定字符串的Sed行_Regex_Bash_Unix_Sed_Grep - Fatal编程技术网

Regex 带特定字符串的Sed行

Regex 带特定字符串的Sed行,regex,bash,unix,sed,grep,Regex,Bash,Unix,Sed,Grep,我在使用sed实用程序时遇到问题。我必须用一个字符串替换正则表达式,但只能在包含另一个特定字符串的行上。此外,我还必须从文件中读取数据,然后通过sed对其进行修改,而不仅仅是导出替换值。以下是我尝试过的: sed -e '`grep aa test`"s/aa/xx/g test' sed -n '/aa/p' test | sed s/aa/xx/g grep aa test | sed 's/aa/xx/g' 在s命令之前使用地址: sed '/aa/ s/aa/xx/g' test

我在使用
sed
实用程序时遇到问题。我必须用一个字符串替换正则表达式,但只能在包含另一个特定字符串的行上。此外,我还必须从文件中读取数据,然后通过
sed
对其进行修改,而不仅仅是导出替换值。以下是我尝试过的:

sed -e '`grep aa test`"s/aa/xx/g test'

sed -n '/aa/p' test | sed s/aa/xx/g

grep aa test | sed 's/aa/xx/g'

s
命令之前使用地址:

sed '/aa/ s/aa/xx/g' test
s
命令仅适用于包含地址模式的行

但不需要在地址和
s
命令中使用相同的模式

更好的例子是:

sed '/bb/ s/aa/xx/g' test

s
命令之前使用地址:

sed '/aa/ s/aa/xx/g' test
s
命令仅适用于包含地址模式的行

但不需要在地址和
s
命令中使用相同的模式

更好的例子是:

sed '/bb/ s/aa/xx/g' test

有什么样的数据或例子吗?有什么样的数据或例子吗?谢谢,它很有效!我很高兴你没有写RTFM,不过这是相当多余的
s/aa/xx/
将只修改匹配的行,并通过其他未修改的行。在某些情况下,您需要一个地址,但这不是其中之一(当您这样做时,有一个方便的速记;替换的“from”部分中的空字符串将重用地址正则表达式;因此
/aa/s//xx/
)。谢谢您,它可以工作!我很高兴你没有写RTFM,不过这是相当多余的
s/aa/xx/
将只修改匹配的行,并通过其他未修改的行。在某些情况下,您需要一个地址,但这不是其中之一(当您这样做时,有一个方便的速记;替换的“from”部分中的空字符串将重用地址正则表达式;因此
/aa/s//xx/
)。