Извлечь строки, содержащие шаблон

Команда alternatives(справочная страница) представляет собой инструмент для создания, удаления, обслуживания и отображения информации о символических ссылках, составляющих система альтернатив. Итак, вы вносите общесистемныеизменения с его помощью и, таким образом, вам нужен пользователь с повышенными привилегиями. Вам нужно либо sudo update-alternatives(если установлено sudoи пользователь является sudoer), либо войти в систему как root с помощью su -, а затем выполнить указанную команду . Этот ответна вопрос о том, как запускать команды, требующие root-прав, может быть вам полезен.

1
19.08.2017, 19:55
2 ответа

Судя по предоставленным вами данным, похоже, что вы например, получить все строки, начинающиеся с непустого символа:

$ grep '^[^[:blank:]]' file.in
#1: nexus0002_Pseudomonas_10M   
tree length for dN:       0.0023
tree length for dS:       0.0341
#1: nexus0003_Pseudomonas_10M   
tree length for dN:       0.0111
tree length for dS:       0.0444

С sed:

$ sed -n '/^[^[:blank:]]/p' file.in

В обоих grepи sed, [[:blank:]]будет соответствовать одному пробелу или символу табуляции. [^[:blank:]]с поэтому соответствует любому одиночному символу, который не является пробелом или табуляцией. Помещение ^перед этим привязывает шаблон к началу строки.

0
27.01.2020, 23:16

Используйте grep

grep -E "^#1:|tree length for" infile.txt 

или sed

sed -n '/^#1:/p;/^tree length for/p' infile.txt 
5
27.01.2020, 23:16

Теги

Похожие вопросы