Объясните синтаксис

Может ли кто-нибудь объяснить синтаксис следующих команд? Я знаю, что они делают, но с трудом получал синтаксис,

find / -type f -exec grep -H 'text-to-find-here' {} \; cat access.log | cut -d '"' -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -r sudo cat error_log.20150205 | grep mpmstat | grep -v "," | cut -d: -f4- | grep -v ":" | sed -e's/rdy//g' | sed -e 's/bsy\|wr\|ka\|log\|dns\|cls\|rd/,/g 

find
/ → Поиск из корня
-type f → выбрать только файл ( f )
-exec ....{} \; → выполнить команду, вставив найденные (файлы) имена для {} по одному grep -H 'test-to-find → выполнить этот grep для каждого файла, найденного find


cat access.log | → выводить файл в stdout и pipe в следующую команду
cut -d '"' -f3 | → split lines on " и вывести только поле 3, pipe в следующую команду
cut -d ' ' -f2 | → вырезать поле 3 на основе пробелов и взять второе поле, в следующий
sort | uniq | sort -r sort | uniq | sort -r → сортировать выходные данные, удалять дубликаты, сортировать в обратном порядке ( -r )
(этот последний может быть выполнен с некоторыми версиями sort с sort -ur в одной команде, а первый – лишним cat поскольку вы можете написать < access.log cut -d '"' | .... )


sudo cat error_log.20150205 | → выполнить кошку с правами root (права доступа к файлу?)
grep mpmstat | → выберите только строки со словом mpmstat
grep -v "," | → отменить выбор ( -v ) любой строки с запятой
cut -d: -f4- | → разделить на поля, основанные на ':' как разделитель, взять поля nr 4 и выше.
grep -v ":" | → подавить строки с помощью:: (маловероятно, что раньше это был символ разделения)
sed -e's/rdy//g' | → замените s последовательностью rdy ничем на всем протяжении ( g ) каждую строку
sed -e 's/bsy\|wr\|ka\|log\|dns\|cls\|rd/,/g → заменить различные альтернативы ( bsy, wr , etc, separated by bsy, \ | `) запятой