Linux unix sed命令匹配一个单词

Linux unix sed命令匹配一个单词,linux,unix,sed,Linux,Unix,Sed,我试图匹配一行并使用sed命令替换它。比如 aaa = 10 aaa =10 aaa=10 我的sed正则表达式应该匹配所有这些模式,并且应该替换为bbb=5之类的内容。我试过了 sed -i '/ *aaa *= */bbb=5' 但这并不是所有模式都能正常工作。任何帮助都是值得的 sed -i 's/\s*aaa\s*=\s*[0-9]*/bbb=5/' input_file \s字符类同时匹配制表符和空格 cat a | sed -e '1s/aaa =10/bbb=

我试图匹配一行并使用sed命令替换它。比如

aaa = 10
 aaa =10
aaa=10
我的sed正则表达式应该匹配所有这些模式,并且应该替换为bbb=5之类的内容。我试过了

     sed -i '/ *aaa *= */bbb=5' 
但这并不是所有模式都能正常工作。任何帮助都是值得的

 sed -i 's/\s*aaa\s*=\s*[0-9]*/bbb=5/' input_file
\s字符类同时匹配制表符和空格

cat a | sed -e '1s/aaa =10/bbb=10/' -e '2s/ aaa =10/bbb=10/' -e '3s/aaa=10/bbb=10/' 

匹配制表符和空格的\s字符类应为sed-i'/*aaa*=.*/bbb=5/'此类问题的第一步是准确指定问题。解决方案几乎马上就会出现。考虑到当前的问题规范,用bbb=5替换所有输入行似乎是一个可接受的解决方案。应使用sed-i'/*aaa*=.*/bbb=5/'解决此类问题的第一步是准确地指定问题。解决方案几乎马上就会出现。鉴于当前的问题规范,用bbb=5替换所有输入行似乎是一个可接受的解决方案。\1在某些发行版上需要sed选项-r\1在某些发行版上需要sed选项-r
cat a | sed -e '1s/aaa =10/bbb=10/' -e '2s/ aaa =10/bbb=10/' -e '3s/aaa=10/bbb=10/'