Как я могу рекурсивно добавить (или коснуться) файл в текущий каталог, а также во все его подкаталоги?
Например,
я хотел бы включить это дерево каталогов:
.
├── 1
│ ├── A
│ └── B
├── 2
│ └── A
└── 3
├── A
└── B
└── I
9 directories, 0 files
в
.
├── 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
Тревор Хикки
источник
источник
find . -type d -exec touch {}/file\;
Если вы просто хотите создать пустой файл, вы можете использовать
touch
и оболочку. В зш:В Баш:
Портативно, вы можете использовать
find
:Некоторые
find
реализации, но не все, позволяют писатьfind . -type d -exec touch {}/file \;
Если вы хотите скопировать некоторый справочный контент, то вам придется звонить
find
в цикле. В зш:В Баш:
Портабельно:
источник
Если вам нужны
touch
файлы с именем $ name в текущем каталоге и во всех подкаталогах, это будет работать:Обратите внимание, что комментарий ChuckCottrill к ответу terdon НЕ работает, так как он будет содержать только
touch
файл с именем $ name в текущем каталоге и сам каталог.Он не будет создавать файлы в подкаталогах в соответствии с запросом OP, в то время как эта версия здесь будет.
источник
Чтобы на самом деле просто создать файл, вы можете использовать
touch
сfind
:источник