Найдите строковый шаблон и поместите его в двойные кавычки - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть файл с данными в формате ниже. Я пытаюсь найти способы создания нового файла путем поиска строки, начинающейся с +, и помещаю эту строку в двойные кавычки. Кроме того, если в файле есть *, это также должно быть заключено в двойные кавычки в новом файле.

file1:

- local_policy:
     lp_from: +91
     lp_to: {066 121 111 198}
- local_policy:
     lp_from: *
     lp_to: *

Я пробовал sed, Метод awk, но не удача.

output file:

- local_policy:
     lp_from: "+91"
     lp_to: {066 121 111 198}
- local_policy:
     lp_from: "*"
     lp_to: "*"

Ожидаемый результат - поместить строки, начинающиеся с +, в двойные кавычки, а также поместить символы * в двойные котировки.

1 Ответ

0 голосов
/ 15 апреля 2020

Использование sed и tee для печати в stdout и сохранение в новый файл.

sed 's/+[[:digit:]]\+/"&"/;s/\*/"&"/' file.txt | tee newfile.txt
...