使用 /

问题描述 投票:0回答:2

我有一个包含以下格式日期的文本文件:

27/8/2019
我想删除除包含
27/8/2019

的行之外的所有行

如果我使用 sed,那就是:

sed -i '/pattern/!d' file.txt

问题是,当我有一个带有“

/
”的模式时,我遇到了下一个错误:

sed: -e expression #1, char 5: unknown command: `8'
linux bash text sed
2个回答
3
投票

逃避斜杠:

sed -i '/27\/8\/2019/!d' file.txt

0
投票

使用

awk

awk '/27\/8\/2019/' file.txt

如果日期只是一个示例,请使用它来保留所有日期行:

awk '/[0-9]+\/[0-9]+\/[0-9]+/' file.txt

使用

awk

内联更新文件
awk '-your code-' file.txt > tmp && mv tmp file.txt
© www.soinside.com 2019 - 2024. All rights reserved.