比如有文件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这个就行
要怎么匹配呢?或者有什么其它办法?
sed作删除用的匹配字符太长且有空格和符号,该怎么办?
-
- 帖子: 15
- 注册时间: 2016-03-12 12:36
- b33e
- 帖子: 3864
- 注册时间: 2011-06-07 14:20
- 系统: Mint18
Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?
用正则表达式匹配
删除filename文件中以 #*/20 开头的行
代码: 全选
sed -i '/^#\*\/20.*$/d' filename
- lilydjwg
- 论坛版主
- 帖子: 4249
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?
脚本化管理 cron job,你需要 /etc/cron.d 目录。
- astolia
- 论坛版主
- 帖子: 6450
- 注册时间: 2008-09-18 13:11
Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?
你把特殊字符转个义不就完了
代码: 全选
sed -i '/#\*\/20 \* \* \* \* \/bin\/sh \/etc\/aacc\.sh aap/d' aaa.txt
-
- 帖子: 15
- 注册时间: 2016-03-12 12:36
Re: sed作删除用的匹配字符太长且有空格和符号,该怎么办?
谢谢2,4楼,学到新知识了
3楼,我是在路由里弄,没这目录。
3楼,我是在路由里弄,没这目录。