【发布时间】:2016-07-15 22:35:37
【问题描述】:
快速的问题,但想知道如果给定一个输入文件,我怎么能几乎只保留文件中包含{、}、" 的行。我所做的是搜索如何删除所有不包含特定模式的行,并最终使用 sed 来做这样的事情:
sed '/{\|}/!d' news.txt > asd.txt
这最终只保留包含{ 或} 的行,但我在添加整个保留行时遇到了麻烦"。我试着做:
sed '/{\|/}\}"/!d' news.txt > asd.txt
但这会导致不匹配的}。
知道如何将" 包含到此 sed 语句中吗?
谢谢!
【问题讨论】:
-
grep -e '{' -e '}' -e '"' news.txt > asd.txt? -
是的,完美。感觉 grep 会更容易使用,但在网上找不到任何相关的。谢谢!
-
带有 GNU grep 的较短版本:
grep -E '{|}|"' news.txt > asd.txt -
更短更短的版本:grep '[{}"]' news.txt > asd.txt