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