Если у вас есть 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
У вас есть команда, которая выводит более одной строки текста, и вам нужна только первая строка вывода. Здесь может быть полезна команда head
:
ifconfig | grep 'inet' | head -n 1
Если вам нужен только IP-адрес, вы можете использоватьawk
:
ifconfig | awk '/inet/ { print $2; exit }'
Это извлечет второе поле, разделенное пробелом -, из первой строки, содержащей строку inet
, и затем завершит работу.