【发布时间】:2020-01-03 06:53:18
【问题描述】:
我有一个日期格式如下的文本文件:27/8/2019 我想删除除包含 27/8/2019 的行之外的所有行
如果我使用 sed,那就是:
sed -i '/pattern/!d' file.txt
问题是当我有一个带有'/'的模式时,我有下一个错误:
sed: -e expression #1, char 5: unknown command: `8'
【问题讨论】:
-
请注意,“可能重复”的接受解决方案在这种情况下不起作用。使用替代分隔符适用于替换,但不匹配。转义斜线对两者都有效,但会使替换命令难以阅读。
-
请注意,在这种情况下使用 grep 会更容易。
-
我必须吃掉我最后的评论;正如@Cyrus 指出的那样,如果您在正确的位置使用反斜杠,可以使用替代分隔符进行模式匹配。