Please enable JavaScript.
Coggle requires JavaScript to display documents.
Утилиты для работы с текстом, TODO - Coggle Diagram
Утилиты для работы с текстом
tail
tail [OPTION]... [FILE]...
Выводит последние n строк файла
tail -3 /etc/passwd
head
head [OPTION]... [FILE]...
head -3 /etc/passwd
Выводит первые n строк
awk
awk опции 'условие {действие}'
echo 'one mississippi:two mississippi:three mississippi:four mississippi' | awk -F":" '{print $4}'
echo 'one two three four' | awk '{print $1}'
echo -e 'one 1\n two 2' | awk '{sum+=$2} END {print sum}'
Опции
-F, --field-separator
- разделитель полей, используется для разбиения текста на колонки;
-f, --file
- прочитать данные не из стандартного вывода, а из файла;
-v, --assign
- присвоить значение переменной, например foo=bar;
-b, --characters-as-bytes
- считать все символы однобайтовыми;
-d, --dump-variables
- вывести значения всех переменных awk по умолчанию;
-D, --debug
- режим отладки, позволяет вводить команды интерактивно с клавиатуры;
-e, --source
- выполнить указанный код на языке awk;
-o, --pretty-print
- вывести результат работы программы в файл;
-V, --version
- вывести версию утилиты.
Читает документ по одной строке за раз, выполняет указанные вами действия и выводит результат на стандартный вывод
Действия
print(строка)
- вывод чего либо в стандартный поток вывода;
printf(строка)
- форматированный вывод в стандартный поток вывода;
system(команда)
- выполняет команду в системе;
length(строка)
- возвращает длину строки;
substr(строка, старт, количество)
- обрезает строку и возвращает результат;
tolower(строка)
- переводит строку в нижний регистр;
toupper(строка)
- переводить строку в верхний регистр.
Переменные в действиях
FNR
- номер обрабатываемой строки в файле
NR
- общее количество строк в обрабатываемом тексте;
$
- ссылка на колонку по номеру
NF
- количество колонок в данной строке;
find
find [папка] [параметры] критерий шаблон [-exec действие \;]
find /var/www -group developer
find . -exec <command> \;
find . -name "*.jpg"
Критерии
-size
- поиск файлов в Linux по их размеру
-newer
- найти файлы новее чем указанный
-nouser
- поиск файлов без владельцев
-nogroup
- поиск файлов, не принадлежащих ни одной группе
-atime
- поиск файлов по дате последнего чтения
-mtime
- поиск по времени модификации файла
-group
- поиск по группе
-user
- поиск файлов по владельцу
-perm
- поиск файлов в Linux по режиму доступа
-name
- поиск файлов по имени
Параметры
-P
никогда не открывать символические ссылки
-L
- получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
-maxdepth
- максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
-depth
- искать сначала в текущем каталоге, а потом в подкаталогах
-mount
искать файлы только в этой файловой системе.
-print
- выводить полные имена файлов
-type f
- искать только файлы
-type d
- поиск папки в Linux
sed
sed [опции] флаги файл
sed 's/1234/4321/' -i 1.txt
sed 1d
- удалить первую строку
's/что
заменять/на
что
заменять/флаги; s/что
заменять2/на
что
заменять2/флаги'
Опции
-n, --quiet
- не выводить содержимое буфера шаблона в конце каждой итерации;
-e -
команды, которые надо выполнить для редактирования;
-f
- прочитать команды редактирования из файла;
-i - заменить в файле и сделать резервную копию файла перед редактированием;
-l
- указать свою длину строки;
-r
- включить поддержку расширенного синтаксиса регулярных выражений;
-s
- если передано несколько файлов, рассматривать их как отдельные потоки, а не как один длинный.
Флаги
w
- записать содержимое буфера шаблона в файл;
N
- добавить перевод строки к буферу шаблона;
D
- если буфер шаблона не содержит новую строку, удалить его содержимое и начать новую итерацию цикла, иначе удалить содержимое буфера до символа перевода строки и начать новую итерацию цикла с тем, что останется;
g
- заменить содержимое буфера шаблона, содержимым дополнительного буфера;
G
- добавить новую строку к содержимому буфера шаблона, затем добавить туда же содержимое дополнительного буфера.
grep
grep -r ./data -e text
- рекурсивный поиск
grep text file -
поиск в файле
ll /data | grep pattern -
поиск в stdout
sort
ll /data | sork -nk5 -
числовая сортировка по 5 колонке
sort -u -nk5 file -
алфавитная сортировка в файле с удалением дубликатов
uniq
uniq [опции] файл-источник файл-для-записи
команда | uniq [опции]
Поиск одинаковых строк в файле
cut
cut [опции] путь-к-файлу
echo "I looked at my watch." | cut -b 5,8,17
Опции
-c (--characters=LIST)
— символ, который следует вырезать. Также можно указывать набор либо диапазон символов.
-b (--bytes=LIST)
— номер байта, набор или диапазон байтов, подлежащих вырезанию.
TODO
.
nl
fmt
egrep
echo
wc
xargs
tr