Image Scripts

From rbachwiki
Jump to navigation Jump to search

Create a Script that will resize an image to multiple sizes

#!/bin/bash
echo "what is the filename"
read fn
#fn="testimage" // to hard code the image 

for SIZE in 29 40 50 57 58 60 72 75 76 80 87 100 114 120 144 152 167 180 512 1024
do
    sips -Z $SIZE "${fn}.jpg" --out "${fn}${SIZE}.jpg"
done

Prompt for Image Name and sizes

#!/bin/bash
echo "what is the filename"
read fn
echo "Enter sizes seprated by space"
read sizes

for SIZE in $sizes
do
    sips -Z $SIZE "${fn}.jpg" --out "${fn}${SIZE}.jpg"
done

Convert All png files in a dir to jpg

for i in *.png; 
do sips -s format jpeg -s formatOptions 70 "${i}" --out "${i%png}jpg"; 
done

Brace Expansion {}, helps with repeated commands

touch {apple, banana, chery} // would create three filenames
touch filename_{01..100} // will create 100 filenames
echo {A..Z} // prints A - Z
echo {1..10..3} // prints 1 - 10 step 3
touch {apple,banana,cherry}_{01..100}{w..d}

** Std Output
cp -v * /folder 1> success.txt 2> error.txt

 Grep with awk
grep -i searchTerm filename.txt | awk {'print $12'} // will output the 12th thing on a line space delimited and only return that value

** Variables
Bash file
#!/bin/bash 
a=hello 
b="Good Morinng" 
c=16 
echo "$b I have $c apples." 

output [Good Morning I have 16 Apples]

** Get Info from users
Bash file
#!/bin/bash 
echo "Enter your name" 
read name 
echo "What is your password" 
read pass 
read -p "what is your fav animal " animal 
echo name: $name, pass: $pass, animal: $animal // this is an inline prompt

Bash menu- Home