Tag Archives: file

Linux – Como reduzir arquivo de imagem na linha de comando

Para enviar fotos ou imagens por email, para um fotolog ou páginas web, pode ser interessante reduzir o tamanho dessas imagens.

Para reduzir o tamanho de arquivos de imagem, pode-se usar o comando convert do Linux.

Segue abaixo um exemplo desta redução, onde o arquivo DSC07370.JPG será reduzido para o tamanho 800×600 e passará a se chamar DSC07370_P.JPG. O tamanho dos arquivos está destacado em vermelho.

$ convert -size 800x600 DSC07370.JPG DSC07370_P.JPG

$ ls -l
total 18478
-rwxr--r-- 1 foo foo 3037188 2007-10-08 23:47 DSC07370.JPG
-rwxr--r-- 1 foo foo 3037188 2007-10-14 23:46 DSC07370.JPG.BKP
-rw-r--r-- 1 foo foo 854502 2007-10-14 23:46 DSC07370_P.JPG
-rwxr--r-- 1 foo foo 3121465 2007-10-08 23:48 DSC07371.JPG
-rwxr--r-- 1 foo foo 3041769 2007-10-08 23:48 DSC07372.JPG
-rwxr--r-- 1 foo foo 3029528 2007-10-08 23:48 DSC07373.JPG
-rwxr--r-- 1 foo foo 2737071 2007-10-08 23:49 DSC07374.JPG
$

 

Referência:

http://linux.about.com/od/commands/l/blcmdl1_convert.htm

http://www.linux.com/articles/113978

http://www.ibm.com/developerworks/linux/library/l-graf/

Saída de um comando ou arquivo: Como pular a primeira linha de uma lista

Há mais de uma maneira de pular a primeira linha de uma lista, seja essa lista um arquivo ou a saida de um comando.

Uma maneira bem simples é usar o comando tail com a opção +2:

tail +2 [nomedoarquivo]

O +2 no comando tail não está dizendo exatamente para pular a primeira linha, mas sim para exibir a lista a partir da segunda linha o que vai significar na prática a mesma coisa. No entanto, você pode usar o tail com +3, +4, etc, iniciando a listagem a partir de qualquer linha que se deseje.

Da man page do comando tail:

“If the first character of N (the number of bytes or lines) is a `+’, print beginning with the Nth item from the start of each file, otherwise, print the last N items in the file.

Referências:

  1. Man page do comando tail: http://unixhelp.ed.ac.uk/CGI/man-cgi?tail
  2. Forum – tópico (Best way to skip first line?): http://www.daniweb.com/forums/thread80245.html (precisa de registro no site)

Email no Unix (mail/mailx) – Como enviar arquivo anexo

Como fazer para enviar um arquivo anexo através do comando mail ou mailx no Unix?

Por exemplo, pode ser necessário enviar um arquivo anexo em emails enviados através de scripts que realizam funções administrativas. Além do anexo, podemos enviar junto o conteúdo no corpo do email (body).

Seguem os passos para enviar um email contendo um arquivo compactado (.zip) e conteúdo no corpo do email:

1 – Compactar arquivos, gerando arquivo zip:

/usr/bin/zip arquivo.zip $diretorio/*ERR*

2 – Gerar o anexo. Para isso usamos o comando uuencode:

 /usr/bin/uuencode arquivo.zip arquivo.zip > attachment.txt

OBS: Sim, o nome do arquivo zip é repetido 2 vezes no comando. Não é erro de digitação. 🙂

3 – Combinar o anexo com o texto que irá no corpo do email:

cat texto_email.txt attachment.txt > combinado.txt

O arquivo texto_email.txt contém o que irá escrito no corpo do email.

4 -Enviar o email com conteúdo no corpo do email e arquivo zip anexo:

/usr/bin/mailx -s "Email com anexo e conteúdo" [email protected] < combinado.txt

A opção “-s” é para colocar o Assunto/Subject do email.