Вывод команды firebase gustil cp не может быть сохранен в текстовом файле. как получить генерацию новой версии?

Мне нужен вывод команды gsutil cp в файл output.txt. используя символ ›, он просто печатает на терминале, но не записывает в output.txt

  1. Как мне это сделать? Поскольку выполнение занимает несколько секунд, я не знаю, как обрабатывать вывод асинхронных команд.

  2. Если кто-нибудь знает, как получить генерацию файла после успешного выполнения cp? Я знаю, как отображать на терминале (используя параметр -v в команде cp). Но мне нужна только генерация, так как она выводит очень много строк.


person KrishnDip    schedule 07.06.2021    source источник
comment
Я нашел то, что я думаю, что это связанный случай здесь, в переполнении стека, может быть, это полезно в вашем случае. (stackoverflow.com/questions/16823714/pipe-gsutil- вывод в файл). Я надеюсь, что это поможет вам.   -  person Vicky    schedule 08.06.2021
comment
Спасибо @Вики. Я рассмотрю решение данной ссылки. Мне нужно извлечь размер и поколение из ссылки. Еще один подход, который я нахожу, — это использование команды gutil du object-link. Это даст мне вывод как size_in_byte object-link#generation. Затем я должен использовать команду cut для извлечения size_in_byte и #generation.   -  person KrishnDip    schedule 09.06.2021
comment
извините, но опция -L дает целевой URL без номера нового поколения. Я могу получить размер файла из вывода.   -  person KrishnDip    schedule 10.06.2021
comment
Я думаю, что нашел возможное объяснение того, почему -L не работает должным образом, в этом связанном case сказано, что команда -L работает только с сохранением цели используемой вами команды, поэтому, возможно, она не сохраняет правильные данные, потому что вывод используемых команд не получает нужные вам данные. Пожалуйста, проверьте это, возможно, это поможет вам найти способ получить то, что вы ищете.   -  person Vicky    schedule 15.06.2021


Ответы (1)


Как указано в документации [1], команда gsutil cp позволяет копировать данные между вашей локальной файловой системой и облаком, внутри облака и между поставщиками облачных хранилищ.

Если вы хотите сохранить вывод команды gsutil cp в текстовый файл, вот пример:

gsutil cp your-file-here gs://your-bucket-here 2> result.txt

Используя файл с именем hello.txt и один из моих сегментов, содержимое result.txt

Copying file://hello.txt [Content-Type=text/plain]...
/ [1 files][   92.0 B/   92.0 B]
Operation completed over 1 objects/92.0 B.

[1] – https://cloud.google.com/storage/docs/gsutil/commands/cp

person Javier A    schedule 21.06.2021
comment
правильно получил вывод в файл. Но из этого вывода сложно получить генерацию и размер. Он дает вывод размера файла в МБ, который мне нужен в байтах. Я должен работать над скриптом, который даст генерацию и размер файла в байтах. - person KrishnDip; 01.07.2021