2017-10-16 4 views
1

J'ai actuellement le code suivant sur la ligne de commande for i in *.wav; do cp text.txt $i.txt; done qui copie un fichier texte pour chaque fichier wav, mais renomme le fichier texte pour qu'il corresponde au fichier wav. Est-il possible de faire cela pour plusieurs dossiers dans un répertoire à la fois?Copier dans plusieurs dossiers

Répondre

1

Vous pouvez utiliser pour trouver que:

find your_folder -name '*.wav -exec cp text.txt {}.txt \; 

Cela va créer des fichiers texte pour tous WAVs dans your_folder.

+0

Merci. Malheureusement, ma clé antislash ne fonctionne pas actuellement, donc je ne peux pas tester cela. J'ai une question supplémentaire. Chacun des fichiers texte est étiqueté pour le nom du dossier (qui est un nombre compris entre 0 et 51). Puis-je écrire une regex pour le nom du fichier texte? '/ [0-9]? [0-9] /. Txt' – Lisa

+0

Vous pouvez essayer de démarrer un sous-shell bash avec l'édition readline désactivée:' bash --noediting'. Cela vous permettra de travailler avec des barres obliques inverses s'il y a une liaison de touches problématique. – marshki

+0

En outre, je ne suis pas clair sur le commentaire regex, mais, par exemple. 'touch {0..51} .txt' créerait des fichiers .txt de 0 à 51. – marshki