我有一个包含以下格式日期的文本文件:
27/8/2019
我想删除除包含 27/8/2019
的行之外的所有行
如果我使用 sed,那就是:
sed -i '/pattern/!d' file.txt
问题是,当我有一个带有“
/
”的模式时,我遇到了下一个错误:
sed: -e expression #1, char 5: unknown command: `8'
逃避斜杠:
sed -i '/27\/8\/2019/!d' file.txt
使用
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