Я grep части JSON, но когда я использую входной файл для строк, он не работает - PullRequest
0 голосов
/ 23 января 2019

Я использую grep в Ubuntu для копирования мелких частей из большого вложенного файла json. Все отлично работает для отдельных строк, но когда я пытаюсь извлечь несколько строк из файла с -f, вывод будет пустым.

У меня есть файл names.txt. Это длинный список имен с разрывом строки для каждого. Это выглядит так:

Pete Smith
Bill Mayer
Sam West
Carl Bond
And so on

У меня также есть большой json, называемый data.json, из которого я хочу принять участие. Каждая строка выглядит следующим образом (Sam West может появиться снова где-то еще, возможно, в другом ключе):

{
  "cities": [
    1,
    2,
    3
  ],
  "licence": "asdf",
  "reg_number": 123,
  "VIPs": {
    "first": "Sam West",
    "second": "Other Name",
    "third": "Another Name"
  },
  "name": "company name"
}

Я использую Ubuntu 18.04.

Создает выходной файл с ожидаемым json:

grep -i 'Sam West' data.json >> output.json

В результате получается пустой выходной файл:

grep -if names.txt data.json >> output.json

Я ожидал, что grep возьмет каждое из имен из names.txt, найдет их и вернет выходной файл со всеми результатами. Однако он возвращает пустой файл. Пожалуйста, помогите мне решить эту проблему. Спасибо.

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