Некоторые полезные команды и регулярки Unix/Linux
regular
command
expression
grep
egrep
vim
Поиск и замена:
:1,$s/gelato/magento/g
Копирование и вставка в vi: yy - копировать текущую строку в неименованный буфер; 1P - вставить буфер в начало текущей строки
Просмотр размеров папок
du -shc /var/*
Просмотр размеров каталогов, исключая php-файлы:
# du -shc /data/www/sigmav.ru/htdocs/* | grep -v .php
Процессы по номерам
netstat -tulpn
Распределение RAM
cat /proc/meminfo
Конфигуратор без комментариев
Убрать все строки, содержащие знак '#':
grep -v -E "^;|^$" /usr/local/lib/php.ini
grep -v -E "#|^$" /usr/local/apache2/conf/httpd.conf
Просмотреть без комментариев и пустых строк:
egrep -v '^#|^$' /usr/local/etc/squid/squid.conf
grep -v '^#' /usr/local/etc/squid/squid.conf | sed -e '/^$/d'
cat /usr/local/etc/squid/squid.conf | grep -v ^# | grep -v ^$
Более изящное решение:
grep -v '^[[:space:]]{0,}#|^$' file.conf
grep -v '^[[:space:]]*#|^$' file.conf
Хочу уточнить относительно отличий ^# и #. Первое это все строки начинающиеся с #, второе все строки содержащие #.
## Применение grep
На примере шелла для бэкапа SVN 06.09.13
root@svn:/home/jira2/svn# svn log -r head file://"$SVN_DIR/Cominvest"/
------------------------------------------------------------------------
r11925 | nilov | 2013-09-06 17:10:34 +0400 (Пт., 06 сент. 2013) | 1 line
APROM 299. Поправил расположение вкладок.
------------------------------------------------------------------------
root@svn:/home/jira2/svn# svn log -r head file://"$SVN_DIR/Cominvest"/ | egrep "r[0-9]+"
r11925 | nilov | 2013-09-06 17:10:34 +0400 (Пт., 06 сент. 2013) | 1 line
root@svn:/home/jira2/svn# svn log -r head file://"$SVN_DIR/Cominvest"/ | egrep "r[0-9]+" | cut -d "r" -f 2
11925 | nilov | 2013-09-06 17:10:34 +0400 (Пт., 06 сент. 2013) | 1 line
root@svn:/home/jira2/svn# svn log -r head file://"$SVN_DIR/Cominvest"/ | egrep "r[0-9]+" | cut -d "r" -f 2 | cut -d " " -f 1
11925