Определение команды sed в заводной строке - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь создать это как отличную строку:

sed 's/.*value="\([^"]*\)".*/\1\n/g'

В заводной я пробовал:

def sedCommand = "sed 's/.*value="\([^"]*\)".*/\1\n/g'"

но это дает: Groovy:unexpected char: '\' @...

Я пробовал разные цитаты, обратную косую черту и т. Д., Но он продолжает жаловаться.

В конце концов выражение sed будет использоваться так:

Process process = [ 'bash', '-c', "curl -k --silent -X GET --insecure --silent $URL | hxselect '#token' | sed 's/.*value="\([^"]*\)".*/\1\n/g' " ].execute()

Есть предложения?

1 Ответ

0 голосов
/ 03 января 2019

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

def sedCommand = /sed 's\/.*value="\([^"]*\)".*\/\1\n\/g'/

Это будет представлять

sed 's/.*value="\([^"]*\)".*/\1\n/g'

См. онлайн Groovy демо

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