Veja find
:
find "/home/user1/files/foo 1/" "/home/user1/files/foo 2/" > output.txt
Eu tenho um conjunto de diretórios que possuem arquivos neles para uso com o LiquidSoap para uso com o IceCast2
Atualmente, toda vez que eu removo um arquivo ou adiciono um arquivo, eu tenho que editar o arquivo txt listando os mp3s para reproduzir manualmente
O que eu gostaria de fazer é criar um script, ou uma tarefa cron, para criar automaticamente uma lista simples do caminho de preenchimento para os mp3s nas pastas que são completamente regeneradas a cada vez.
Eu digo que ele precisa ser regenerado para que arquivos excluídos sejam removidos do arquivo
Os arquivos estão em diretórios como
/home/user1/files/foo 1/
/home/user1/files/foo 2/
etc...
e o conteúdo é
this file is called this.mp3
another name for a file.mp3
etc...
Eu gostaria de ter um script ou cron que cria um arquivo txt com o conteúdo de cada pasta que termina como
/home/user1/files/foo 1/this file is called this.mp3
/home/user1/files/foo 1/another name for a file.mp3
/home/user1/files/foo 1/this is a cool filename.mp3
/home/user1/files/foo 2/moar files.mp3
/home/user1/files/foo 2/okay this is getting old.mp3
Mas se eu removesse /home/user1/files/foo 1/this file is called this.mp3
, ele deixaria o arquivo txt na próxima geração e, se eu adicionasse yet another file.mp3
a uma das pastas, ele seria adicionado ao arquivo txt
Atualmente executando o Ubuntu Server 13.04, e posso instalar pacotes, se necessário, mas gostaria de usar scripts / crons simples
Veja find
:
find "/home/user1/files/foo 1/" "/home/user1/files/foo 2/" > output.txt
Dica: você também pode fazer LC_ALL=C ls -lR | gzip > listing.ls-lR.gz
. O Midnight Commander permite que você visualize tais arquivos (não oficialmente conhecidos como "ls-lR") como se fossem um verdadeiro sistema de arquivos.
(Supondo que você esteja executando o Linux) A ferramenta que você está procurando é inotify (veja "man inotify"). É possível configurá-lo para executar
find "/home/user1/files/foo 1/" "/home/user1/files/foo 2/" > output.txt
sempre que um arquivo é adicionado (ou excluído) dos diretórios de destino.
Para o Ubuntu, você precisará instalar o pacote inotify-tools. Isso instala dois binários: inotifywatch e inotifywait. Um bom exemplo de criação de scripts do que você precisa é: link
Eu uso algo similar para a minha própria jukebox baseada em Liquidsoap.