快速问题,但是想知道如果给出一个输入文件,我几乎可以保留包含{
,}
,"
的文件中的行。我所做的是搜索如何删除所有不包含某种模式的行,并最终使用sed做这样的事情:
sed '/{\|}/!d' news.txt > asd.txt
这最终只会保留包含{
或}
的行,但我也无法在"
添加整个保留行。我试过了:
sed '/{\|/}\}"/!d' news.txt > asd.txt
但这导致了无与伦比的}
。
关于如何将"
包含在此sed语句中的任何想法?
谢谢!
答案 0 :(得分:2)
这使用sed只打印你想要的行:
sed -n '/[{}"]/p' news.txt
这与grep:
相同grep '[{}"]' news.txt
这样做但反转了逻辑:它不是打印匹配的行,而是删除不匹配的行:
sed '/[{}"]/!d' news.txt
在所有情况下,[...]
用于匹配方括号内的任何字符。
答案 1 :(得分:2)
sed '/{\|}\|"/!d' news.txt > asd.txt