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