Я хочу создать файл index.html в каждой папке моего проекта в Linux.
index.html должен содержать некоторый пример кода.
Как создать файл в одной команде?
Ответ 1
find . -type d -exec touch {}/index.html \;
Это создаст index.html в . и всех подкаталогах.
Ответ 2
cd /project_dir && find . -type d -exec touch \{\}/index.htm \;
НТН
Ответ 3
Предполагая, что у вас есть список ваших каталогов проектов в файле под названием "projects.txt", вы можете сделать это (для bash и zsh)
for i in $(cat projects.txt)
do
touch $i/index.html
done.
Чтобы создать файл projects.txt, вы можете использовать команду find. Вы можете напрямую заменить cat на вызов find, но я подумал, что было бы более ясно разделить две операции.
Ответ 4
Я знаю, что это старый вопрос, но ни один из текущих ответов не позволяет добавить пример кода, вот мое решение:
#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 {} \;
Ответ 5
Следующая команда создаст пустой файл index.html в текущем каталоге
touch index.html
При необходимости вам понадобится соответствующий цикл.