Execute touch empty
no diretório.
find ... -execdir touch empty \;
Eu quero manter uma estrutura de pastas que contenha pastas vazias quando eu adicionar um projeto ao Git. Como todos sabem, o Git não rastreia pastas vazias. Então você precisa adicionar algum tipo de espaço reservado dentro de uma pasta vazia.
Até agora eu consegui descobrir pastas recursivamente vazias com este comando:
find ./* -type d -empty
Como eu continuo? Então, depois de um comando, cada pasta vazia contém um arquivo chamado "vazio"?
Execute touch empty
no diretório.
find ... -execdir touch empty \;
find . -type d -empty -exec touch {}/empty \;
Obrigatória 'você pode fazer isso com bash' resposta:
shopt -s globstar nullglob
for f in ./**/; do [[ $(echo "$f"*) == '' ]] && touch "$f"empty; done
Globstar significa que **
se expande para 'todos os arquivos neste diretório, recursivamente'; **/
significa que ele só será expandido para diretórios, em vez de arquivos regulares (já que os nomes de arquivos não podem conter barras invertidas).
Nullglob significa que globs que não correspondem a nada se expandem para um nullbyte. O teste verifica se isso acontece (o que significa que não há nada no diretório); se o teste for avaliado como verdadeiro (o que significa que não há nada no diretório), então touch
es empty
no diretório.
Tags command-line