Как заменить все вхождения символа на awk - PullRequest
0 голосов
/ 09 июля 2020

Из cmd (awk 'some expression') я получил результат в формате

Key:(white_space)Value
Key:(white_space)Value
...

Как манипулировать результатом, чтобы он был в формате:

Key=Value

I это нужно, потому что я хочу поместить информацию в формат файла .properties, который является ключом = значение

Другими словами, мне нужно заменить : на = и удалить пробелы.

Есть ли в awk команда, которая может этого добиться?

Ответы [ 2 ]

4 голосов
/ 09 июля 2020

Вы запрашиваете awk, а sed обеспечивает столь же простое решение. Однако awk делает его тривиальным и с sub:

awk '{ sub(/:[ \t]*/,"=") }1'

Пример

$ echo "Key:       Value" | awk '{ sub(/:[ \t]*/,"=") }1'
Key=Value
0 голосов
/ 09 июля 2020

Другой подход awk.

awk -F'[: ]' '{print $1 "=" $NF}' file.txt 
...