ошибка grep только при создании переменной из результатов

Я анализирую некоторый json в ударе. Если я делаю это в командной строке удара:

кошка junk|grep - По '"местоположение":.*? [^\\\]"',

Это возвращается:

"местоположение": "21.0393,105.7666",

Но, если я делаю это для установки переменной с результатами:

протестируйте ='cat junk|grep - По '"местоположение":.*? [^\\\]"'',

Это возвращается:

grep: пропавшие без вести завершения] для класса символов

По некоторым причинам переменное использование инкапсуляции {'}, кажется, инициировало что-то с grep и моим regex

спам является файлом с небольшим количеством json от запроса до http://ipinfo.io:

{"IP": "103.147.184.52", "город": "Cầu Diễn", "регион": "Ханой", "страна": "VN", "местоположение": "21.0393,105.7666", "org": "AS135905 ВЬЕТНАМСКАЯ ГРУППА ПОЧТЫ И ТЕЛЕКОММУНИКАЦИЙ", "часовой пояс": "Asia/Ho_Chi_Minh", "readme": "https://ipinfo.io/missingauth"}

Действительно ли там что-то очевидно, что я отсутствую?

0
задан 16 February 2020 в 03:41

1 ответ

Было указано steeldriver, что использование обратных галочек для замены команды было удержано от использования.

Когда я использую эту форму:

$ test= (кошка junk|grep - По '"местоположение":.*? [^\\\]"')

Это работает, как предназначено.

0
ответ дан 20 February 2020 в 22:52

Другие вопросы по тегам:

Похожие вопросы: