Anteriormente, fiz uma pergunta muito semelhante, mas era apenas para um subdiretório escrevendo arquivos em um subdiretório para um arquivo csv e salvá-lo no diretório pai na linha de comando do linux . Eu tenho um diretório chamado 'dir', e há 5 subdiretórios nele, sub1, sub2,..sub5. Cada subdiretório contém muitos arquivos. Gostaria de gravar na lista de arquivos de todos os subdiretórios em um arquivo CSV e salvá-lo no diretório 'dir' com uma linha de comando no linux. Meu código faz isso, exceto que eu só quero os nomes dos arquivos (name1,name2 etc), mas ele grava os nomes completos dos arquivos com o caminho (./sub1/name1,./sub1/name2, etc ). A linha de comando que estou usando dentro da pasta dir é;
dir$ find . -type f > names.csv
Como você marcou sua pergunta como 'Linux', suponho que você tenha o GNU
find
- nesse caso, você pode usarDe
man find
:Explicação
-execdir
executa o seguinte comando para cada resultado.basename {} \;
remova a peça antes do final/
. Os{}
substitutos para cada diretório encontrado. Vejaman find
para mais informações.