GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je créer un fichier dans chaque dossier ?

En supposant que vous ayez une liste de vos répertoires de projet dans un fichier appelé "projects.txt", vous pouvez le faire (pour bash et zsh)

for i in $(cat projects.txt)
do
  touch $i/index.html
done

Pour créer votre projects.txt, vous pouvez utiliser le find commande. Vous pouvez remplacer le cat directement avec un find invocation mais j'ai pensé qu'il était plus clair de séparer les deux opérations.


cd /project_dir && find . -type d -exec touch \{\}/index.htm \;

HTH


find . -type d -exec touch {}/index.html \;

Cela créera un index.html en . et tous les sous-répertoires.


Je sais que c'est une vieille question mais aucune des réponses actuelles ne permet d'ajouter un exemple de code, voici ma solution :

#create a temp file
echo "<?php // Silence is golden" > /tmp/index.php

#for each directory copy the file
find /mydir -type d -exec cp /tmp/index.php {} \;

#Alternative : for each directory copy the file where the file is not already present
find /mydir -type d \! -exec test -e '{}/index.php' \; -exec cp /tmp/index.php {} \;

Linux
  1. Comment trouver un fichier sous Linux

  2. Comment puis-je connaître le type MIME d'un fichier (Content-Type) ?

  3. Comment puis-je ajouter une chaîne au début de chaque fichier dans un dossier en bash ?

  4. Comment puis-je créer un fichier tar en plusieurs parties sous Linux ?

  5. Comment puis-je trouver le fichier le plus ancien dans une arborescence de répertoires

Comment créer un fichier dans Ansible

Comment créer un fichier sous Linux

Comment créer un fichier Tar Gz

Comment créer de nouveaux dossiers dans le gestionnaire de fichiers ?

Comment créer un fichier de site Web

Comment créer un fichier Tar gz