查找从包含特定字符串的文本文件中删除一行(或多行)的命令。 例如 我有一个文本文件如下
Sat 21-12-2014,10.21,78%
Sat 21-12-2014,11.21,60%
Sun 22-12-2014,09.09,21%
我想删除其中包含“21-12-2014”的所有行。 我无法找到有效的解决方案。
答案 0 :(得分:1)
根据 @twalberg ,这个问题还有三个替代解决方案,我正在解释这个问题的未来读者,以获得更多用途的解决方案:
使用grep
命令
grep -v 21-12-2014 filename.txt
<强>解释强>
-v
用于查找不匹配的行
使用awk
命令
awk '! /21-12-2014/' filename.txt
<强>解释强>
!
表示它将打印包含该字符串匹配的所有其他行。这不是操作者意味着无知。
使用sed
命令
sed -e '/21-12-2014/d' < filename.txt
<强>解释强>
-e
表示要执行的脚本正则表达式
d
表示删除任何匹配
<
将输入文件内容重定向到命令
答案 1 :(得分:0)