Попытка найти путь к grep всеми именами на одной строке для 100 файлов. захват всех имен, доступных в каждом файле, должен появиться на той же строке.
FILE1
"company":"COMPANY1","companyDisplayName":"CM1","company":"COMPANY2","companyDisplayName":"CM2","company":"COMPANY3","companyDisplayName":"CM3",
FILE2
"company":"COMPANY99","companyDisplayName":"CM99"
Вывод, который я на самом деле хочу, (включайте имя файла как префикс.)
FILE1:COMPANY1,COMPANY2,COMPANY3
FILE2:COMPANY99
я попробовал grep -oP '(?<="company":")[^"]*' *
но я получаю результаты как это:
FILE1:COMPANY1
FILE1:COMPANY2
FILE1:COMPANY3
FILE2:COMPANY99
Так как Вы уже используете Совместимое с Perl регулярное выражение (PCRE), почему бы не использовать сам Perl?
$ perl -0777 -lnE 'say "$ARGV:", join ",", /(?<="company":")[^"]*/g' FILE*
FILE1:COMPANY1,COMPANY2,COMPANY3
FILE2:COMPANY99
Если каждый файл содержит только одну строку, можно опустить -0777
"хлебать".