剥离不包含文本短语的行

时间:2010-12-13 12:10:22

标签: regex terminal

从包含

等行的.txt文件开始
adfgnfghqueendsfgdfg
dfgdfgdfg
gdfgdfgfhsfqueenjkhkjhkjg
hksad,jfhgkfdg

如何剥去没有“皇后”的线条? (最好使用OS X终端命令)

3 个答案:

答案 0 :(得分:1)

您可以使用grep。例如:

grep "queen" file.txt > newfile.txt

答案 1 :(得分:1)

您可以将sed用作:

  1. 仅打印其中包含queen的行并进行内联更改。

    sed  -i -n '/queen/p' file
    
  2. 删除其中没有queen的行并进行内联更改。

    sed  -i '/queen/!d' file
    
  3. 如果上述命令在行中的任何位置找到单词queen,则会删除,即使是另一个单词的一部分。如果这不是您想要的,并且您只想删除queen出现单独字而不是另一个字的一部分的那些行,则可以使用字边界\b作为:

    sed  -i -n '/\bqueen\b/p' file
    sed  -i '/\bqueen\b/!d' file
    

答案 2 :(得分:1)

sed '/queen/ d' infile.txt > outfile.txt