Как я могу использовать awk или sed для печати строки только до первого символа подчеркивания?
Перед:
host100_044 2
host101_045 2
host102_046 2
После:
host100
host101
host102
unix
bash-scripting
unix-utils
Rubstr
источник
источник
Еще одна альтернатива для sed:
Если у вас есть это в файле, вы можете назвать это следующим образом;
источник
Вывод:
С символами новой строки:
Вывод:
источник
Использование
sed
:Используя
sed
вариант редактирования на месте,источник
awk
решение уже опубликовано (иcut
, вероятно, лучше в этом случае), так как он спрашивал об этомsed
, но вы меня опередили за секунды :-). Вы можете даже лишить$
, так как это будет соответствовать.*
концу строки по умолчанию.В
-F'_'
инструктируетawk
использовать знак подчеркивания в качестве поля разделителей. Самawk
скрипт просто печатает первое поле.источник
Это напечатает вывод до
_
:sed 's/_.*//' -filename
источник