Text Utils
cat
cat - concatenate and print, соединить файлы и вывести (на экран, в третий файл).
EX:
cat hello1.txt hello2.txt > hello3.txt - объединить и воткнуть
head
Выводит первые 10 строк текстового файла. Полезно для быстрого просмотра свежих логов в лог-файлах.
head -n 15 /var/log/syslog - просмотреть первые 15 строк лога
tail
Выводит последние 10 строк текстового файла. Полезно для быстрого просмотра свежих логов в лог-файлах.
tail/var/log/syslog - просмотреть последние 10 строк лога
tail -f /var/log/dmesg - просмотреть последние 10 строк лога и не закрывать его, а оставить висеть для наблюдения за свежими добавлениями.
nl
Вставить нумерацию строк в текстовый файл. Полезно для распечатки листингов кода.
sed
Stream editor.
sed -e 's/pants/dresses' test.txt - replace every word 'pants' with word 'dresses' in file test.txt
Tool very often used in scripts.
sort
Sorts lines in a text file. Default - alphabetically.
split
Splits a file into several files. Can split by bytes.
Usage: syslog can be split to be more readable.
uniq
Show only non-duplicate lines in file. Count duplicate lines in file.
Searches in log-files for repetitive errors/events.
wc
Word count in file.
wc * - shows word count in all files in the folder
Regular expressions
grep
Прямое использование
grep oo file04.txt # найти все сочетания oo в файле
grep -n oo file04.txt # найти сочетания, вывести с номерами строк
grep -i boo file04.txt # найти сочетания вне зависимости от регистра символов (по умолчанию для grep важен регистр)
Использование через pipe:
cat file04.txt | grep oo
Регулярные выражения в grep:
grep ^ple file04.txt # символ ^ означает начало строки, найти все суффиксы ple, находящиеся в начале строк.
grep ks$ file04.txt # символ $ означает конец строки
grep .o file02.txt # символ . означает любой символ
Дополнительные выражения - egrep (или grep -E):
egrep '^(b|d)' file04.txt # найти все, что начинается с символов b ИЛИ d
egrep '^(b|d)oo' file04.txt # найти все, что начинается с b ИЛИ d, и далее следует oo
egrep '^[b-k]..k' file04.txt # найти строки, с первой буквой от b до k, потом 2 каких-то символа и далее буква k
egrep '^[b-k]..t|[B-K]..k' file04.txt # комбинация с ИЛИ условием
Быстрый grep - fgrep:
fgrep не принимает никаких символов регулярных выражений
fgrep fa$ file04.txt # найти сочетание fa$
Stream editor - sed
sed -e 's/oo/00/' file04.txt # -e = edit, далее в кавычках действие: s=substitute (замена), далее что = oo, и на что меняем = 00.
При необходимости в регулярных выражениях, ключ -r:
sed -re 's/^[Bo]|[bo]/^non-B00/' file04.txt