Общее
Я пытаюсь рекурсивно искать в сотнях файлов JSON в определенном каталоге строки, соответствующие определенному регулярному выражению.
grep -rh отлично подходит для рекурсивного поиска определенных строк.У меня проблема с применением регулярного выражения с поиском, потому что все строки в файлах JSON начинаются с " и заканчиваются либо ", или ".
Пример: если я хочу применить регулярное выражение, чтобы получить все строки, начинающиеся с zxc , я не смогу это сделать, поскольку строки на самом деле начинаются с "zxc
код
Следующая команда будет работать, если в начале строк не было ".
/bin/grep -rh -E "^(zxc)" "/etc/json_dir/"
Следующая команда работает, но я не хочу, чтобы grep получал сотни тысяч строк из всех файлов JSON, а затем применял регулярное выражение.
/bin/grep -rh -E ".*" "/etc/json_dir/" | /bin/sed -e 's/^"//g' -e 's/,$//g' -e 's/"$//g' | /bin/grep -E "^(zxc)"
Вопрос
Есть ли способ для grep игнорировать символ " в начале и " и ", символов в конце строк перед применением регулярного выражения?
Если нет способа, есть лиспособ сделать это с помощью другой команды bash, perl, python или другого языка.