Grep для получения вывода после первого экземпляра строки

Если у вас есть GNU awk, вы можете использовать gensubдля замены с помощью подходящего регулярного выражения, например. предполагая, что все из gene_idявляется одной вкладкой -поле с разделителями 9:

gawk -F '\t' '{$9 = gensub(/.*gene_name "([^"]*)".*/,"\\1","1",$9); print $1,$4,$5,$7,$9}' input
chr1 11869 12227 + DDX11L1
chr1 12010 12057 + DDX11L1
1
14.09.2019, 03:33
1 ответ

У вас есть команда, которая выводит более одной строки текста, и вам нужна только первая строка вывода. Здесь может быть полезна команда head:

ifconfig | grep 'inet' | head -n 1

Если вам нужен только IP-адрес, вы можете использоватьawk:

ifconfig | awk '/inet/ { print $2; exit }'

Это извлечет второе поле, разделенное пробелом -, из первой строки, содержащей строку inet, и затем завершит работу.

0
28.01.2020, 00:00

Теги

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