Сохранять символы до и после определенного символа

$ finger $USER|grep -oP 'Shell: \K.*'
/bin/mksh
1
26.06.2017, 13:51
4 ответа

Вы можете использовать несколько символов в качестве разделителей полей (пробел и подчеркивание) и печатать только поля 1 и 3:

awk -F'_| +' '{print($1,$3)}' file
0
27.01.2020, 23:45

С функцией awk sub :

awk '{ sub("_.*","",$1) }1' OFS='\t' file

Вывод:

7   98.97
7   98.59
7   98.79
7   98.93
7   98.57
7   99.70
7   99.13
0
27.01.2020, 23:45

Похоже, вы хотите удалить _и все не -пустые символы после него, поэтому:

sed 's/_[^[:blank:]]*//' < file
1
27.01.2020, 23:45

Вы пытались использовать awk? Это должно привести вас туда, куда вы хотите:

awk '/_/ {gsub("_.*","",$1); print}' < input.txt

0
27.01.2020, 23:45

Теги

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