Disponibilização de scripts na Internet

Sabe aquele script no qual você ficou horas trabalhando até deixá-lo redondinho? Ou então aquele trecho de código que você está tentando fazer funcionar, mas não consegue encontrar o erro de jeito nenhum? Se em qualquer dessas situações você quer compartilhar o seu resultado, seja pra tirar dúvidas ou disponibilizar para que outras pessoas possam se beneficiar dele, existe duas soluções bem interessantes para lhe atender.

A primeira, e mais simples, é o sítio Nopaste. Nele é possível colar o seu script ou trecho de código a ser compartilhado, escrever uma descrição e um apelido pra você e selecionar o tipo de linguagem do código (pra ele poder marcá-lo adequadamente). Ao clicar no botão Paste, o seu código já estará disponível. Além disso ele gera uma URL para o seu código, que você pode passar para as outras pessoas. O Nopaste é muito útil quando você, por exemplo, precisa tirar alguma dúvida em determinado trecho de código quando está conversando com alguém via IRC ou comunicador instantâneo.

A segunda opção tem um direcionamento maior para o compartilhamento da informação, possuindo, inclusive, elementos de redes sociais e é bem mais elaborado. Seu nome é Command-line Fu e nele, além de cadastrar o seu código, é possível avaliar os códigos disponíveis, comentá-los e marcar os que você considera mais interessantes, para futuras consultas. O serviço é muito bem feito e é um local obrigatório para desenvolvedores e outras pessoas interessadas em shell script.

Descompactar vários arquivos com uma linha de comando

Uma coisa que eu costumo fazer no GNU/Linux é descompactar vários arquivos de uma vez, em um mesmo diretório. Um exemplo disso são arquivos de temas ou de módulos de determinado programa ou aplicação web. Como eu gosto de usar a linha de comando, eu preciso abrir arquivo por arquivo, pois os comandos de descompactação não aceitam curingas (por exemplo o *) no nome do arquivo. Quando a quantidade de arquivos compactados é muito grande, essa tarefa torna-se bem maçante.

Tentando resolver o meu problema, dei uma batida na Internet e achei essa dica no sítio do Viva o Linux. Fiz uma pequena alteração para que ele funcione em uma única linha de comando (ao invés de um arquivo de script) e apresento abaixo as três versões para os formatos mais populares de compactação. Obviamente, basta alterar o comando do descompactador para que ele funcione com outros formatos não citados aqui. Além disso, com pequenas modificações é possível gerar um script mais elaborado, onde é possível colocar os diretórios onde estão os arquivos e para onde eles devem ir. Entretanto, esse não é o propósito desse artigo. A idéia aqui é uma solução rápida para a descompactação de vários arquivos. É importante destacar que a descompactação será realizada no diretório onde você está executando a linha de comando. Tome cuidado com isso para evitar efeitos indesejáveis. Em caso de dúvidas, crie um diretório de testes e rode o comando lá.

Arquivos compactados como tar.gz

for x in `ls *.tar.gz`;do tar xzvf $x;done

Arquivos compactados como tar.bz

for x in `ls *.tar.bz`;do tar xzvf $x;done

Arquivos compactados como zip

for x in `ls *.zip`;do unzip $x;done