正则表达式复杂 , 难 ! $ sed -i 's/^#\(.*helloworld\)/\1/' feeds.conf.default 依次解析 : -i : 直接修改读取的文件内容,而不是输出到终端 / : ~ 开始匹配搜索 ^# : 以 # 号开头的行 \(.*helloworld\) : 格式为 (XXXXhelloworld) 的行 , XXXX 的长度不限 /: ~ 开始处理 \1: ~~~ 猜测是前面匹配的串 /: ~ 结束了 实测结果 : $ cat tt11 ,(fdsa helloworld) 001 #$fdsa helloworld) 002 #(fdsa felloworld) 003 #(fdsa helloworld* 004 #(fdsa helloworld) 005 #(fdsa helloworld) end! $ sed -i 's/^#\(.*helloworld\)/\1/' tt11 预期 : 001 行不变 , 002-004 行不变 , 005 行 # 号被删除 $ cat tt11 ,(fdsa helloworld) 001 $fdsa helloworld) 002 #(fdsa felloworld) 003 (fdsa helloworld* 004 (fdsa helloworld) 005 (fdsa helloworld) end! 实际 : 001 不变 ( 未匹配 # 号开头 ) 002 # 号被删除 ( 未匹配左括号 ) 003 不变 ( 未匹配 helloworl...