使用
sed -i "/sss/"d 1.txt
进行删除1.txt含有sss的行。但是需要匹配的实际上更加复杂,含有特殊字符!
报错内容:
sed:-e 表达式 #1,字符 10:未知的命令:“&”
这种之类的问题。
处理方案:
1.如果是匹配的字符串含有 / 斜杠这个,可以添加 \ 来组成 \/ 进行处理。这个在脚本执行的时候有效果,但是ssh远程调用还是会报错。
2.避免特殊字符,使用正则表达式:
sed -i "/a.*ss.sh/"d 1.txt
使用 .*进行简单的匹配含有 a 字母 和 ss.sh的行进行删除,可以避免报错。