Grep только 3 символа рядом с открывающей скобкой

Вы пробовали редактировать файл ~/.config/kactivitymanagerd-statsrc?

И совет: никогда не редактируйте вручную файлы конфигурации Plasma, когда вы находитесь в сеансе Plasma. Это связано с тем, что Plasma перезаписывает любые ручные изменения в ваших файлах конфигурации, когда вы завершаете сеанс.

-1
20.08.2021, 12:01
2 ответа

А также с awk, установив FSкак[(_]:

awk -v FS='[(_]' '{print $2,$6}' file
XXX DFG
GYZ TYU
UFG QWE
JTH YUT

т. е. разделитель может быть регулярным выражением. Здесь примеров гораздо больше :https://stackoverflow.com/questions/12204192/using-multiple-delimiters-in-awk

1
20.08.2021, 12:54

A sed, который работает для любого количества «полей», хотя и за счет дополнительного пространства на каждом конце

sed -E "s/[c_][^(]+./ /g"  file

Глобальный поиск, который начинается с cили_

[c_]

за которым следует все, что не является(

[^(]+

плюс следующий символ ., который будет либо (, либо последним в строке, и заменяет их пробелом.

ИЛИ

Объект awk, который также не зависит от «количества полей»

awk -F\( '{for (i=2; i<=$NF; i++) $(i-1)=substr($i,1,3); $NF=""}1' file

Установите для FSзначение (, а затем пролистайте поля от второго до последнего, установив поле i-1равным первым 3 символам поля iи очистив последний перед печатью.

0
20.08.2021, 15:35

Теги

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