Использование SED в коде с круглыми скобками - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь сделать этот код

http("request_0").get(uri3 + "replacement_text")

похожим на это

http("replacement_text").get(uri3 + "replacement_text")

Я могу сделать это с помощью следующей команды SED:

sed -i '/.*http(".*")$/{s/(.*\(\.get\((".*")\)\)$/\2\1/;}' .\test.txt

Эта команда, однако, не работает, когда код выглядит следующим образом, и я думаю, что это из-за круглых скобок перед htpp.

something(http("replacement_text").get(uri3 + "replacement_text"))

1 Ответ

0 голосов
/ 13 марта 2020

Предполагая, что вы хотите изменить строки:

http("request_0").get(uri3 + "replacement_text")
something(http("request_0").get(uri3 + "replacement_text"))

на:

http("replacement_text").get(uri3 + "replacement_text")
something(http("replacement_text").get(uri3 + "replacement_text"))

, тогда попробуйте:

sed -i 's/\(http("\)[^"]\+\(.*get([^"]*"\)\([^"]\+\)/\1\3\2\3/' test.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...