cat -n file1 - вывести содержимое файла, нумеруя выводимые строки
cat example.txt | awk 'NR%2==1' - вывести только не четные строки файла
echo a b c | awk '{print $1,$3}' - вывести первую и третью колонки. Разделение, по-умолчанию, по пробельным символам или символу табуляции
echo a b c | awk '{print $1}' - вывести первую колонку содержимого файла. Разделение, по-умолчанию, по пробельным символам или символу табуляции
echo 'word' | tr '[:lower:]' '[:upper:]' - перевести символы нижнего регистра в верхний
comm -3 file1 file2 - сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
comm -1 file1 file2 - сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file1
comm -2 file1 file2 - сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file2
grep [0-9] /var/log/messages - отобрать и вывести строки содержащие цифровые символы из файла /var/log/messages
grep ^Aug /var/log/messages - отобрать и вывести строки, начинающиеся с сочетания символов "Aug", из файла /var/log/messages
grep Aug /var/log/messages - отобрать и вывести строки, содержащие сочетание символов "Aug" из файла /var/log/messages
grep Aug -R /var/log/* - отобрать и вывести строки, содержащие сочетание символов "Aug", из всех файлов, расположенных в директории /var/log и ниже
grep шаблон путь_к_файлу - поиск в файле по шаблону
grep "что" "Где" - искать в файле
grep -nri 'foobar' * - найти по папкам данное слово и вывести номер строки и путь до файла
grep -Er "что" * - искать что во всех файлах и каталогах
grep -Eri "что" "Где" - искать что во всех файла и каталогах игнорируя регистр
grep -ri "что_ищем" * - поиск в файлах "что_ищем" в текущем каталоге рекурсивно
grep -riv "что_ищем" * - показать все файлы кроме "что_ищем"
grep -v '^#' configfile | cat -s > nocomments - прочитать файл удалив строки с комментариями и сохранив в файл nocomments
grep -irns "что_ищем" - будет искать начиная с текущего каталога, покажет имя файла и строку
grep -vE "Id|^$|---" - исключит строки Id, пустые строки(^$) и исключить строки (---)
cat filename | grep -vE "^#|^$" - смотрим конфиги без комментариев (^#) и пустых строк (^$)
ls -la | grep -E "file1|file2" - показать file1 и file2
cat file | grep -iE "(one|two|three)" - отфильтровать строки без учёта регистра, содержащие одно из слов one, two, three
paste -d '+' file1 file2 - объединить содержимое file1 и file2 в виде таблицы с разделителем "+"
paste file1 file2 - объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
sdiff file1 file2 - сравнить содержимое двух файлов
sed 's/string1/string2/g' example.txt - заменить string1 на string2 в файле example.txt и вывести содержимое
sed '/ *#/d; /^$/d' example.txt - удалить пустые строки и комментарии из файла example.txt
sed '/^$/d' example.txt - удалить пустые строки и комментарии из файла example.txt
sed -e '1d' exampe.txt - удалить первую строку из файла example.txt
sed -n '/string1/p' - отобразить только строки содержащие string1
sed -e 's/string//g' example.txt - удалить строку string1 из текста файла example.txt не изменяя всего остального
sed -e 's/ *$//' example.txt - удалить пустые символы в конце каждой строки файла example.txt
sed -n '5p;5q' example.txt - вывести пятую строку
sed -n '2,5p' example.txt - вывести строки со второй по пятую
sed -e 's/00*/0/g' example.txt - Заменить последовательность из любого количества нулей одним нулём
Кусок файла примера rasilka.csv для sed:
Алексей,+2 (522) 7234-246-57
Александр,+3 (234944) 123-73-33
Ярослав,+4 (455) 62205-111-87
Максим,+5 (315) 51014-656-923
Дмитрий,+6 (2062) 6434-994-2983
Алексей,+7 (927435) 40302-1945-39844
Примем убираем пробелы, знаки"()+-", в конце знак "," заменяем на пробел:
cat rasilka.csv | sed 's/ //g' | sed 's/-//g' | sed 's/(//' | sed 's/)//g' | sed 's/+//g' | sed 's/,/ /g' > rasilka.csv.edit
Используем специальный ключ "-e" убираем пробелы, знаки"()+-", в конце знак "," заменяем на пробел
cat rasilka.csv | sed -e 's/ //g' -e 's/-//g' -e 's/(//g' -e 's/)//g' -e 's/+//g' -e 's/,/ /g'
sed - пример шаблонов
---------------------
8d - удалить 8-ю строку
/^$/d - удалить все пустые строки
1,/^$/d - удалить все строки до первой пустой строки, включительно
/Jones/p - вывести строки, содержащие "Jones" (с ключом -n)
s/Windows/Linux/ - в каждой строке, заменить первое встретившееся слово "Windows" на слово "Linux"
s/BSOD/stability/g - в каждой строке, заменить все встретившиеся слова "BSOD" на "stability"
s/ *$// - удалить все пробелы в конце каждой строки
s/00*/0/g - заменить все последовательности ведущих нулей одним символом "0"
/GUI/d - удалить все строки, содержащие "GUI"
s/GUI//g - удалить все найденные "GUI", оставляя остальную часть строки без изменений
--------------------
sort file1 file2 - вывести отсортированное содержимое двух файлов
sort file1 file2 | uniq - вывести отсортированное содержимое двух файлов исключая повторные значения
sort file1 file2 | uniq -u -вывести уникальные значения из отсортированного содержимого двух файлов
sort file1 file2 | uniq -d - вывести только повторяющиеся значения из отсортированного содержимого двух файлов