====== Команды фильтры ====== ===== cut ===== * [[https://ru.wikipedia.org/wiki/Cut|cut — команда выборки отдельных полей из строк файла]] * [[http://unix.stackexchange.com/questions/35369/how-to-cut-by-tab-character|How to cut by tab character]] $ cut -d: -f1,7 /etc/passwd $ cut -c1-5 /etc/passwd $ cat /etc/passwd | rev | cut -c 2- | rev #remove last character ===== tr ===== * [[https://ru.wikipedia.org/wiki/Tr|translate или transliterate — Unix-утилита для преобразования символов]] * MySQL запросы [[Сервис MySQL#Из командной строки]] $ cat /etc/passwd | tr ':' ' ' $ df -h / | tr -s ' ' $ getent group group1 | cut -f4 -d: | tr "," "\n" $ echo "{\"hw_id\":\"2\",\"hw_name\":\"router\"}" | tr -d '{}\\' ===== sort ===== * [[https://ru.wikipedia.org/wiki/Sort|sort — UNIX‐утилита, выводящая сортированное слияние указанных файлов]] Ключи -n -r -u -kN $ sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 addresses.txt ===== uniq ===== * [[https://ru.wikipedia.org/wiki/Uniq|uniq — утилита Unix, с помощью которой можно вывести или отфильтровать повторяющиеся строки]] Cм. пример с grep ===== grep ===== [[http://ru.wikipedia.org/wiki/Grep]] $ grep root /etc/passwd $ grep -i Root /etc/passwd $ grep '^root' /etc/passwd $ grep 'sh$' /etc/passwd Ключ -r - рекурсивный перебор подкаталогов $ grep -r '\' /usr/share Ключ -v - показать строки, не совпадающие с шаблоном FreeBSD /usr/local/etc/apache/httpd.conf Linux /etc/apache2/apache2.conf /etc/apache2/sites-available/default-ssl $ grep -v '^#' file $ grep -v '^ *#' file $ grep -v '^ *#\|^$' file $ grep "^[^#]" /etc/ssh/sshd_config Ключ -E - использовать расширенные регулярные выражения $ grep -vE '^ *#|^$' file ===== Примеры использования ===== * [[Авторизация доступа к ресурсам через SQUID]] ==== Статистика посещений за день ==== # fgrep '05/Dec/2011' /opt/local/apache2/logs/access_log | cut -f1 -d' ' | sort -u | wc -l ==== Вывод списка ip адресов из файла ==== * [[https://stackoverflow.com/questions/14928573/sed-how-to-extract-ip-address-using-sed|sed - How to extract IP address using sed?]] * Генератор отчетов awk [[Генератор отчетов awk#Выбор строк по числовому условию]] # cat /var/log/auth.log | grep -oE '((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])' | sort | uniq -c | sort -n