Comand Line Interface

Find and Replace

# --- замена всех вхождений в файлах директории
find . -name '*.php' -exec sed -i -e 's/www.fubar.com/www.fubar.ftw.com/g' {} \;

# --- Не учитывать регистр при поиске по имени:
find . -iname "test*"

# --- Поиск файлов по имени только в текущей папке:
find . -maxdepth 1 -name "*.php"

# --- Найти файлы в директории, которые не соответствуют шаблону:
find /some/path -not -name "test*"

# --- Найти все файлы с раширением .html или .php:
find /some/path -name "*.html" -o -name "*.php"

# --- Найти все файлы, принадлежащие пользователю evgeniy:
find /some/path -user evgeniy

# --- Найти все файлы размером 50 мегабайт:
find /some/path -type f -size 50M

# --- Все файлы от пятидесяти до ста мегабайт:
find /some/path -type f -size +50M -size -100M

# --- Удалить все log-файлы больше 100 мегабайт:
find /home/evgeniy/log -type f -name "*.log" -size +100M -exec rm -f {} \;
find /home/evgeniy/log -type f -name "*.log" -size +100M -exec rm -f {} +

Display

# заголовок файла
head /some/file.txt
# первые N строк файла
head -N /some/file.txt

# хвост файла
tail /some/file.txt
# крайние N строк файла
tail -N /some/file.txt

# отображение файла с номерами строк
nl /some/file.txt

# отображение файла с разбиением на страницы
more /some/file.txt

== Count

# --- считаем байты в выводе другой команды
output=$(your_program)
size=$(echo "$output" | wc -c)
echo "Size in bytes: $size"

Grep

# --- grep in grep in grep
#     grep by multipal strings in files ("grep AND")
# на вход команды grep можно передать ограниченное кол-во файлов (команда head)
grep -rl 'Rejected' $(grep -rl 'admissionResults' $(grep -rl 'fcsProtocolEF1' . | head -n 1000))

Encode

iconv -f WINDOWS-1251 -t UTF-8 FILENAME

Stream Edit

sed - stream editor for filtering and transforming text

# замена всех вхождений в файле и запись результата в отдельный файл
sed s/mysql/MySQL/g /some/file.txt > file2.txt

Concatiation

# Конкатенация файлов
# добавление вывода cat в файл all.txt
cat *.txt >> all.txt
# перезапись файла all.txt выводом cat
cat *.txt > all.txt