Я использую 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, найдет их и вернет выходной файл со всеми результатами. Однако он возвращает пустой файл. Пожалуйста, помогите мне решить эту проблему. Спасибо.