Sou novo em scripts de shell bash, peço desculpas se isso já foi solicitado.
Eu tenho combinações de vários arquivos, como:
USA.txt Florida.txt Miami.txt
Eu gostaria de juntar esses arquivos e criar um novo arquivo que contém tudo, como:
cat *.txt > USA_FLORIDA_MIAMI.txt
Em outro caso O problema é que em algum outro momento os arquivos têm um prefixo diferente:
Canada.txt Quebec.txt Montreal.txt
então neste segundo caso, a saída será CANADA_QUEBEC_MONTREAL.txt:
cat *.txt > CANADA_QUEBEC_MONTREAL.txt
e assim por diante para todas as combinações de outros arquivos
No primeiro cenário, USA.txt Florida.txt Miami.txt são os únicos arquivos .txt presentes no diretório. No segundo caso, eles serão substituídos por Canada.txt Quebec.txt Montreal.txt, então eu precisaria escrever um código que sempre combinasse as informações do prefixo de todos os arquivos .txt presentes naquele momento no diretório e adiciona-o ao prefixo do arquivo de saída. A variável aqui é o nome do País, Estado e Cidade.
Alguma sugestão sobre qualquer comando que eu poderia usar? obrigado
sujo, mas funciona:
execute-o com
ele mesclará os arquivos e criará o nome do arquivo com base nos arquivos fornecidos.
Eu acho que você também pode usar algumas sintaxes de expansão de parâmetros do Bash .
O básico seria:
Utilizável como um one-liner como em:
Ou fez uma função:
para ser incluído em um script ou
source
editado a partir de seu shell interativo e usado como em: