← Cheatsheets
Linux

grep / sed / awk

The essential text processing trio — search, stream-edit and field-based processing on the command line.

grep – Search

grep "pattern" file
grep -r "pattern" ./dir
grep -i "pattern" file
grep -n "pattern" file
grep -v "pattern" file
grep -c "pattern" file
grep -l "pattern" *.log
grep -E "foo|bar" file
grep -o "pattern" file
grep -A 3 "pattern" file
grep -B 3 "pattern" file
grep -C 3 "pattern" file

sed – Stream Edit

sed 's/old/new/' file
sed 's/old/new/g' file
sed 's/old/new/gi' file
sed -i 's/old/new/g' file
sed -i.bak 's/old/new/g' file
sed -n '5,10p' file
sed '3d' file
sed '/pattern/d' file
sed 's/^/ /' file
sed 's/ *$//' file

awk – Pattern Processing

awk '{print $1}' file
awk '{print $NF}' file
awk -F',' '{print $2}' file
awk 'NR==5' file
awk 'NR>=5 && NR<=10' file
awk '/pattern/' file
awk '{sum+=$1} END{print sum}' file
awk '{print NR, $0}' file
awk '!seen[$0]++' file
awk '{print $2, $1}' file
awk 'length($0) > 80' file