1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
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 - вывести только повторяющиеся значения из отсортированного содержимого двух файлов |
Рубрики