if [ 2 -gt 1 ]; then echo "Sim, é verdade"; fi # nesse script, testamos se o 2 é maior que o 1 # a condição sendo verdadeira, é mostrado "Sim, é verdade" # o "-gt" é o mesmo que o comando ">" em outras linguagens
Listagem dos operadores:
-eq | Igual |
-ne | Diferente |
-gt | Maior |
-lt | Menor |
-o | Ou |
-d | Se for um diretório |
-e | Se existir |
-z | Se estiver vazio |
-f | Se conter texto |
-o | Se o usuário for o dono |
-r | Se o arquivo pode ser lido |
-w | Se o arquivo pode ser alterado |
-x | Se o arquivo pode ser executado |
Agora vamos fazer algo mais prático. Vamos supor que precisamos redimensionar imagens para 1000 pixels, porém as imagens que possuirem a altura menor que a largura devem ter 1000 pixels de altura, mantendo a largura proporcional e o mesmo com a largura, ou seja, se a largura for menor, ela deve ter 1000 pixels, mantendo a altura proporcinal.
#!/bin/sh #Primeiro pegamos todos os jpg com um "for" for i in *.jpg; do # O `identify -format "%w" "$i"` pega a largura da imagem # O `identify -format "%h" "$i"` pega a altura da imagem if [ `identify -format "%w" "$i"` -gt `identify -format "%h" "$i"` ]; then # Redimensionando a altura para 1000 pixels convert "$i" -resize x1000 "$i"; else # Redimensionando a largura para 1000 pixels convert "$i" -resize 1000 "$i"; # Fim do if fi; # Mostra a imagem atual echo "$i"; # Fim do for done
Fontes:
http://www.devin.com.br/shell_script/
http://help.lockergnome.com/linux/Easy-Method-Find-Dimensions-JPG-Image--ftopict380853.html
Nenhum comentário:
Postar um comentário