¿Cómo agrego (o toco) recursivamente un archivo al directorio actual, así como a todos los subdirectorios?
Por ejemplo,
me gustaría activar este árbol de directorios:
.
├── 1
│ ├── A
│ └── B
├── 2
│ └── A
└── 3
├── A
└── B
└── I
9 directories, 0 files
dentro
.
├── 1
│ ├── A
│ │ └── file
│ ├── B
│ │ └── file
│ └── file
├── 2
│ ├── A
│ │ └── file
│ └── file
├── 3
│ ├── A
│ │ └── file
│ ├── B
│ │ ├── file
│ │ └── I
│ │ └── file
│ └── file
└── file
9 directories, 10 files
bash
command-line
directory
recursive
Trevor Hickey
fuente
fuente
find . -type d -exec touch {}/file\;
Si solo desea crear un archivo vacío, puede usar
touch
un globo de shell. En zsh:En bash:
Portablemente, puede usar
find
:Algunas
find
implementaciones, pero no todas, te permiten escribirfind . -type d -exec touch {}/file \;
Si desea copiar algún contenido de referencia, deberá llamar
find
en un bucle. En zsh:En bash:
Portablemente:
fuente
Al querer
touch
archivos llamados $ name en el directorio actual y en todos los subdirectorios, esto funcionará:Tenga en cuenta que el comentario de ChuckCottrill a la respuesta de terdon NO funciona, ya que solo lo hará
touch
el archivo llamado $ name en el directorio actual y el directorio en sí.No creará archivos en subdirectorios según lo solicitado por el OP, mientras que esta versión aquí lo hará.
fuente
Para crear un archivo, puede usarlo
touch
confind
:fuente