Algo ao longo das linhas de
for sam in */Aligned.out.sam; do \
name=$(basename $(dirname "$sam")) \
cp "$sam" "/home/SAM/$name.sam" \
done
pode fazer o truque
Digamos que sob este diretório:
/home/data/
Existem 100 pastas, o nome dessas pastas é 24538_7#1
, 24538_7#2
, 24538_7#3
... para 24538_7#384
.
Em cada pasta, existem muitos arquivos e pastas.
Os nomes do arquivo desejado em cada pasta são Aligned.out.sam
A pasta desejada para arquivos renomeados é /home/SAM
Como posso copiar todos esses arquivos para a nova pasta ( /home/SAM
) e renomeá-los corretamente como 24538_7#1.sam
, 24538_7#2.sam
, 24538_7#3.sam
......?
Eu tentei fazer isso pelo comando abaixo, mas não funcionou:
mv /home/data/*/Aligned.out.sam /home/SAM/*.sam