Une dois arquivos em um modo em lote

1

Eu tenho muitos arquivos com os seguintes nomes:

      0001mm.xyz  , 0002mm.xyz , 0003mm.xyz ...
      0001qm.xyz  , 0002qm.xyz , 0003qm.xyz ...

Eu quero juntar o conteúdo de 0001mm.xyz e 0001qm.xyz para produzir 0001.xyz ; 0002mm.xyz e 0002qm.xyz para produzir 0002.xyz e assim por diante.

    
por alloppp 23.04.2016 / 02:01

1 resposta

1

Para juntar dois arquivos, use cat .

cat 0001mm.xyz 0001qm.xyz >0001mm.xyz

Para iterar os arquivos de entrada, use um loop . Faça um loop sobre um dos arquivos de entrada usando um padrão de caractere curinga .

for x in *mm.xyz; do … done

Dado um arquivo $x terminando com mm.xyz , para obter o nome do outro arquivo de entrada e o nome do arquivo de saída, use para extrair o radical.

for x in *mm.xyz; do
  stem="${x%mm.xyz}"
  cat "$x" "${stem}qm.xyz" >"${stem}.xyz"
done
    
por 23.04.2016 / 02:25