Batch, adicione nomes de arquivos ao txt no bash

0

Eu tenho um comando para o bash

find /any/directory/ -type f -printf "%f\n" >> data.txt

que coloque todos os nomes de arquivos, (como no exemplo 5r32a.xml e 5r343.xml ) presentes no diretório especificado, em data.txt . Eu quero adicionar nomes de arquivos (usando um comando), a fim de tal código em .txt , por exemplo:

cat ../raw_orig/5r32a.xml tmp_file ../raw_orgg/bab-aux-cal.xml > ./5r32a.xml
cat ../raw_orig/5r343.xml tmp_file ../raw_orgg/bab-aux-cal.xml > ./5r343.xml
# And etc

Como posso fazer isso usando o terminal? Como posso especificar a linha e a coluna?

    
por user2899758 02.01.2017 / 17:08

2 respostas

3

Isso é o que você está procurando.

find /any/directory/ -type f -printf "cat ../raw_orig/%f tmp_file ../raw_orgg/bab-aux-cal.xml > ./%f\n" >> data.txt
    
por 02.01.2017 / 17:17
1

Outra alternativa:

for a in $(cd any/directory; ls *xml)
do 
   echo "cat ../raw_orig/$a tmp_file ../raw_orgg/bab > ./$a" >> data.txt
done
    
por 02.01.2017 / 20:39