Regular expressions
SED
Character | Description |
^ | Matches the beginning of the line |
$ | Matches the end of the line |
. | Matches any single character |
* | Will match zero or more occurrences of the previous character |
[ ] | Matches all the characters inside the [ ] |
Regular expression | Description |
/./ | Will match any line that contains at least one character |
/../ | Will match any line that contains at least two characters |
/^#/ | Will match any line that begins with a '#' |
/^$/ | Will match all blank lines |
/}$/ | Will match any lines that ends with '}' (no spaces) |
/} *$/ | Will match any line ending with '}' followed by zero or more spaces |
/[abc]/ | Will match any line that contains a lowercase 'a', 'b', or 'c' |
/^[abc]/ | Will match any line that begins with an 'a', 'b', or 'c' |
SED Examples
sed -i ’s/Ben/Dave/g’ file.txt -# Replace all the words Ben for the word Dave
sed 's/Ben|ben/Dave/g' file.txt -# Replace all the words Ben and ben for the word Dave
sed 's/^[ ^t]*//' file.txt -# Delete all spaces in front of every line of file.txt
sed 's/[ ^t]*$//' file.txt -# Delete all spaces at the end of every line of file.txt
sed -e '/^#/d' file.txt | more -# View file without the commented lines
sed -e '/regexp/d' file.txt -# delete the word regexp
sed 's/...//' -# delete the first 3 characters on every line
AWK
awk '!($0 in a){a[$0];print}' - # Remove duplicate, nonconsecutive lines
awk '{ print $NF }' -# print the last field of each line
awk -F':' '{print $3,$4;}' -# show only what is on columns 3 and 4
Find and replace
awk '{gsub(/foo/,"bar")}; 1' -# if foo replace by bar
awk '/baz/{gsub(/foo/, "bar")}; 1' - # ONLY for lines which contain "baz"
awk '!/baz/{gsub(/foo/, "bar")}; 1' -# EXCEPT for lines which contain "baz"
Grep
grep 'word\|logs' file # can contain 2 strings
grep "word1" file | grep "word2" # line must match the 2 strings
xargs Examples
locate file* | xargs grep "bob" # find a file and grep a string
locate file* | xargs rm # find a file a del it
CUT
cut -d " " -f 1 - cut everything after the first word
For loop example