Некоторые полезные команды и регулярки 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