Exclui todos os arquivos em uma pasta sem excluir diretórios? (OS X)

1

Existe um comando de terminal simples para excluir todos os dados reais, todos os arquivos, mas deixar todos os diretórios lá? Incluindo pacotes (.app) como diretórios?

- Você não precisa ler isto: A razão pela qual está no meu iPod Touch, sempre que eu ssh para / private / var / mobile / Applications para obter um ícone ou algo para mudar para um tema, eu tenho que olhar através de cada pasta para encontrar o aplicativo, uma vez que são todos em suas pastas de identificadores exclusivos (por exemplo, 2C053638-26FE-42DD-A235-30FCBA59E623), é impossível encontrá-lo. Então eu copiei a pasta Applications para a minha área de trabalho, para que eu pudesse destacar a busca pelo nome do aplicativo e, em seguida, a pasta seria a única pasta de identificação do iPod, para que eu pudesse encontrá-la facilmente.

    
por mk12 08.10.2009 / 01:24

3 respostas

8

Você está querendo apagar apenas os arquivos do diretório atual, ou arquivos de subdiretórios também? Para este último, isso funcionaria sob a maioria dos ambientes unix-a-like

find . -type f -print0 | xargs -0 rm -f

ou se você sabe que não há arquivos ou diretórios com espaços em seus nomes, você pode simplificar um pouco com

find . -type f | xargs rm -f

Eu não sou um usuário da Apple, então eu sei pouco dos diretórios .app dos quais você fala, mas você deve ser capaz de evitar tocá-los adicionando grep entre find e xargs como

find . -type f | grep -v \.app | xargs rm -f

Substitua rm -f por ls ou ls -l em todos os itens acima para obter uma lista do que seria excluído em vez de executar a exclusão.

    
por 08.10.2009 / 01:40
1

O Find também pode ser excluído:

$ find . -type f -exec rm {} \;

SEJA CUIDADO: este comando significa negócios - ele exclui todos os arquivos a partir do diretório atual sem perguntar.

    
por 08.10.2009 / 06:31
0

abra seu aplicativo de terminal

(1) cd {caminho do conteúdo do iTouch}

  for example:  cd /Users/Mike/Desktop/myTouch

(2), em seguida, recurse pelos diretórios e remova o conteúdo.

  find {directory} -type f | tee output

  for i in 'grep -v .app output'
  do
   echo ${i}; rm ${i}
  done

por exemplo,

find /Users/Mike/Documents/myTouch/ -type f | tee output

for file in 'grep -v .app output'
do
 echo ${file}
 rm ${file}
done
    
por 04.10.2010 / 22:13

Tags