Команда для поиска имен файлов из grep или «строки» внутри файлов в облачном хранилище Google Buckets? - PullRequest
0 голосов
/ 07 мая 2020

У меня много файлов в корзине GCS, и я хотел бы найти имя файла, который содержит мои данные (например, grep «APPLE»). Есть ли способ найти имена файлов на основе команды grep?

Следующая команда приводит только к данным с соответствующими строками, но я хочу найти имя файла, в котором находятся данные grep

gsutil cat gs://my-bucket/part-2020-01-09** | grep 'APPLE'

Есть ли способ найти соответствующие имена файлов?

1 Ответ

2 голосов
/ 07 мая 2020

Для этого я бы написал такой скрипт:

for i in $(gsutil ls gs://my-bucket/part-2020-01-09**) 
do 
    gsutil cat ${i} | grep 'APPLE' > /dev/null
    if [ "${?}" == "0" ] 
    then 
        echo ${i}
    fi
done

Но он не так эффективен, как кошка, потому что он выполняет вызов API для каждого файла. Я не знаю, сколько у вас файлов и насколько это приемлемое решение.

...