Espero que ajude:
for i in ch* ; do cat $i >> $(echo $i | sed 's/\(ch[0-9]*\.ta_[0-9]*_[0-9]*\).*/.txt/') ; done
Eu tenho milhares de .txt
arquivos no diretório. Seus nomes são:
ch14.ta_20452_206652_15-84.txt
ch14.ta_20452_206652_786-14.txt
ch14.ta_20452_206652_77-85.txt
ch14.ta_20452_206652_81-78.txt
ch2.ta_16903_17204-41-44.txt
ch2.ta_16903_17204-2-46.txt
ch2.ta_16903_17204-61-47.txt
ch2.ta_16903_17204-73-52.txt
Eu quero mesclar arquivos com o início semelhante do nome (exp: ch14.ta_20452_206652
ou ch2.ta_16903_17204
) em um texto.
Tentamos fazer isso manualmente com:
cat *ch14.ta_20452_206652* > ch14.ta_20452_206652.txt
Mas é impossível e me deixa louco. Espero que alguém possa me ajudar
Espero que ajude:
for i in ch* ; do cat $i >> $(echo $i | sed 's/\(ch[0-9]*\.ta_[0-9]*_[0-9]*\).*/.txt/') ; done