Манипуляции с текстом


Команда Описание
# cat example.txt | awk ‘NR%2==1’ при выводе содержимого файла, не выводить чётные строки файла
# echo a b c | awk ‘{print $1}’ вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
# echo a b c | awk ‘{print $1,$3}’ вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
# cat -n file1 пронумеровать строки при выводе содержимого файла
# comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
# comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
# comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
# diff file1 file2 сравнить два файла
# grep Aug /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug»
# grep ^Aug /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, начинающиеся на «Aug»
# grep [0-9] /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие цифры
# grep Aug -R /var/log/* отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug», во всех файлах, находящихся в директории /var/log и ниже
# paste file1 file2 объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
# paste -d ‘+’ file1 file2 объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
# sdiff file1 file2 найти различия между двумя файлами и объединить в интерактивном режиме , так-же как и «Diff»
# sed ‘s/string1/string2/g’ example.txt в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода
# sed ‘/^$/d’ example.txt удалить пустые строки и комментарии из файла example.txt
# sed ‘/ *#/d; /^$/d’ example.txt удалить пустые строки и комментарии из файла example.txt
# sed -e ‘1d’ exampe.txt удалить первую строку из файла example.txt
# sed -n ‘/string1/p’ отобразить только строки содержашие «string1»
# sed -e ‘s/ *$//’ example.txt удалить пустые символы в в конце каждой строки
# sed -e ‘s/string1//g’ example.txt удалить строку «string1» из текста не изменяя всего остального
# sed -n ‘1,5p’ example.txt взять из файла с первой по восьмую строки и из них вывести первые пять
# sed -n ‘5p;5q’ example.txt вывести пятую строку
# sed -e ‘s/00*/0/g’ example.txt заменить последовательность из любого количества нулей одним нулём
# sort file1 file2 отсортировать содержимое двух файлов
# sort file1 file2 | uniq отсортировать содержимое двух файлов, не отображая повторов
# sort file1 file2 | uniq -u отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
# sort file1 file2 | uniq -d отсортировать содержимое двух файлов, отображая только повторяющиеся строки
# echo ‘word’ | tr ‘[:lower:]’ ‘[:upper:]’ преобразовать символы из нижнего регистра в верхний
# dos2unix filedos.txt fileunix.txt конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)
# recode ..HTML < page.txt > page.html конвертировать содержимое тестового файла page.txt в html-файл page.html
# recode -l | more вывести список доступных форматов
# unix2dos fileunix.txt filedos.txt конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)