O que estou tentando fazer parece bastante simples, mas não consigo fazer funcionar, nem encontro nada no Google referente a como fazer isso?
Quero primeiro agrupar vários arquivos e, em seguida, compactar o arquivo resultante, mas em um comando, não em dois.
Eu tenho um monte de arquivos com nomes como este:
File202112.txt
File202201.txt
File202202.txt
File202203.txt
...
File202212.txt
File202301.txt
Só quero reunir o valor de um ano e depois compactar o resultado.
Então, se eu fizer isso, funciona, mas são dois comandos:
cat File2022*.txt > All_2022.txt
zip All_2022.zip All_2022.txt
Mas estou tentando combiná-los em uma linha usando pipe, mas quando faço isso não funciona:
cat File2022*.txt | zip All_2022.zip
zip error: Nothing to do!
Como posso fazer isso funcionar?
Do zip(1) - página de manual do Linux :
Então no seu caso será:
Isso provavelmente não é o que você realmente quer, mas você pode fazer isso.
Isso deve funcionar, mas eu não testei. Ao descompactar o arquivo, você perderá todos os nomes de arquivo e terá apenas um único fluxo de dados.
Roubado descaradamente de um post anterior