Зачистки строк, которые не содержат текстовой фразы - PullRequest
1 голос
/ 13 декабря 2010

Начиная с файла .txt с такими строками, как

adfgnfghqueendsfgdfg
dfgdfgdfg
gdfgdfgfhsfqueenjkhkjhkjg
hksad,jfhgkfdg

Как бы я удалил строки, в которых нет «королевы»?(желательно используя команду OS X Terminal)

Ответы [ 3 ]

1 голос
/ 13 декабря 2010

Вы можете использовать sed как:

  1. Печатать только строки, содержащие queen, и вносить изменения в строке.

    sed  -i -n '/queen/p' file
    
  2. Удалите строки, в которых нет queen, и внесите изменения в строку.

    sed  -i '/queen/!d' file
    

Приведенную выше команду удалите, если они найдут слово queen в любом месте строкидаже как часть другого слова.Если это не то, что вам нужно, и вы хотите удалить только те строки, в которых queen выглядит как отдельное слово, а не как часть другого слова, вы можете использовать границы слов \b как:

sed  -i -n '/\bqueen\b/p' file
sed  -i '/\bqueen\b/!d' file
1 голос
/ 13 декабря 2010
sed '/queen/ d' infile.txt > outfile.txt
1 голос
/ 13 декабря 2010

Вы можете использовать grep. Например:

grep "queen" file.txt > newfile.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...