16 dezembro 2009

Brincando com ficheiros: cat, tac e shuf....

Será que ainda há alguém que ainda não conheça o comando "cat" do Linux? Este comando serve para ler ficheiros de texto embora caso queiram ler esse ficheiro página a página, o comando certo será o "less". Mas não é sobre ler ficheiros em Linux que eu estou aqui a gastar o meu português. Este comando, o "cat", mostra-nos o ficheiro desde o princípio até ao fim o que se pode considerar lógico mas nem sempre é o que queremos ou o que precisamos. Caso queiram ler o ficheiro desde o fim até ao princípio, não vão usar o "cat" mas sim esse comando ao contrário!

tac .tomboy.log

Nem mais, o "tac" lê os ficheiros de texto do fim para o princípio. Agora vamos lá supor que não nos interessa ler determinado ficheiro seja do principio para o fim ou do fim para trás, mas apenas queremos ler ou ter acesso a algumas linhas à sorte desse ficheiro. Para isso existe o comando "shuf"! Huumm, voces devem estar a pensar qual a utilidade desta "shuf", concerteza não será para investigar erros em ficheiros de log, pois não... Agora imaginem ter uma pasta cheia de mp3 sacados da net e querem tocá-los no vosso player em modo "random"?

ls -a ~/Music/**/*.mp3 | shuf | mplayer -playlist -

Ou então:

mplayer $(ls -a ~/Music/**/*.mp3 | shuf)

Estes comandos em cima serão para um exemplo em que o utilizador tenha os seus mp3 na pasta /Music e tenha o Mplayer instalado.



Fonte: Linux Format

2 comentários:

boas dicas.

cat também serve para concatenar pedaços de ficheiros, como os gerados pelo comando 'split':

cp split01.bin whole.bin
cat split02.bin >> whole.bin
cat split03.bin >> whole.bin

etc...