Как использовать «sed» для добавления символов в начало строки в файле - PullRequest
0 голосов
/ 18 октября 2019

У меня есть текстовый файл с именами путей (каждый в своей строке) в формате ./abc/def/... или abc/def/.... Как использовать sed для добавления ./ ко всем файлам, которые не начинаются с ./?

Я пробовал следующую команду, но она выдает ошибку: sed -i -E 's/^(?!\.\/.*$).*/\.\/&/g' ~/output.txt

Ошибка говорит sed: -e expression #1, char 24: Invalid preceding regular expression

1 Ответ

1 голос
/ 18 октября 2019

Не могли бы вы попробовать следующее.

sed '/^[a-zA-Z]/s/\(.*\)/.\/\1/' Input_file

ИЛИ

sed '/^[a-zA-Z]/s/.*/.\/&/' Input_file

2-е решение:

sed '/^[^./]/s/^/.\//' Input_file

ИЛИ

sed '/^[^./]/s/.*/.\/&/'  Input_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...