GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso creare un file in ogni cartella?

Supponendo che tu abbia un elenco delle directory del tuo progetto in un file chiamato "projects.txt", puoi farlo (per bash e zsh)

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

Per creare il tuo project.txt, puoi usare il find comando. Potresti sostituire il cat direttamente con un find invocazione ma mi è sembrato più chiaro separare le due operazioni.


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

HTH


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

Questo creerà un index.html in . e tutte le sottodirectory.


So che è una vecchia domanda ma nessuna delle risposte attuali consente di aggiungere del codice di esempio, ecco la mia soluzione:

#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. Come posso collegare simbolicamente un file in Linux?

  2. Come posso scoprire il tipo MIME di un file (Content-Type)?

  3. Come posso aggiungere una stringa all'inizio di ogni file in una cartella in bash?

  4. Come posso trovare un file specifico da un terminale Linux?

  5. Come posso anteporre una stringa all'inizio di ogni riga in un file?

Come creare un file in Ansible

Come creare un file in Linux

Come creare file Tar Gz

Come creare nuove cartelle nel File Manager?

Come creare un file del sito web

Come creare un file Tar gz