заменить точки в строке из файла bash - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь заменить строку в файле, содержимое выглядит следующим образом:

node11d:hostname1:KY home node11d 202014
node2:hostname1:KY home node2 202014
node3c1:hostname1:KY home node3c1 202014

Я хочу этот вывод:

hostname1 home node11d 202014
hostname1 home node2 202014
hostname1 home node3c1 202014

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020
cat foo.txt | awk '{gsub(/ /,":");print}' | awk -F":" '{print $2,$4,$5,$6}' > new_foo.txt
0 голосов
/ 16 апреля 2020

Вы можете использовать awk:

awk -F"[: ]" '{print $2,$4,$5,$6}' yourfile

Это просто разбивает каждую строку на двоеточие или пробел (на столбцы), а затем печатает 2-й, 4-й, 5-й и 6-й столбцы. Очевидно, что если ваш файл отличается по количеству столбцов в зависимости от этого разделения, вам придется проявить большую креативность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...