分页: 1 / 1

sed作删除用的匹配字符太长且有空格和符号,该怎么办?

发表于 : 2016-12-23 21:45
aocif32
比如有文件aaa.txt内容如下
#* 3 * * * /bin/sh /etc/hello
aa
#*/20 * * * * /bin/sh /etc/aacc.sh aap

想将第三行内容删除(有时可能不在第三行)
sed -i '/#*/20 * * * * /bin/sh /etc/aacc.sh aap/d' aaa.txt这个运行不了

sed -i '/aa/d' aaa.txt这个就行

要怎么匹配呢?或者有什么其它办法?

Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?

发表于 : 2016-12-23 22:34
b33e
用正则表达式匹配

代码: 全选

sed -i '/^#\*\/20.*$/d' filename
删除filename文件中以 #*/20 开头的行

Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?

发表于 : 2016-12-23 22:48
lilydjwg
脚本化管理 cron job,你需要 /etc/cron.d 目录。

Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?

发表于 : 2016-12-24 0:34
astolia
你把特殊字符转个义不就完了

代码: 全选

sed -i '/#\*\/20 \* \* \* \* \/bin\/sh \/etc\/aacc\.sh aap/d' aaa.txt

Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?

发表于 : 2016-12-24 14:26
aocif32
谢谢2,4楼,学到新知识了

3楼,我是在路由里弄,没这目录。