вырезать строку и поместить сам результат

У меня есть файл cve.txt с такими примерами:

delta.x
alpha.tri
blue.zia

Я хочу вырезать строку до точки и поместить себя как:

delta.x|delta
-1
05.07.2017, 19:23
3 ответа
$ awk -F. '{ print $0"|"$1}' input
delta.x|delta
alpha.tri|alpha
blue.zia|blue

Мы сообщаем awk, что .является разделителем полей, а затем формируем вывод, как вы описываете, с помощью простого оператора print. $0— строка ввода; $1— первое поле (i. е. все, что предшествовало первому.).

1
28.01.2020, 05:07

sedподход:

sed 's/\([^.]*\)\.[^.]*/&|\1/' file

Выход:

delta.x|delta
alpha.tri|alpha
blue.zia|blue
1
28.01.2020, 05:07

Поскольку вы просили cutрешение:

paste -d\| input <(cut -d\. -f1 input)
1
28.01.2020, 05:07

Теги

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