Манипуляции с текстом в коммандной строке
Для напоминания некоторых комманд по манипуляции с текстом:
cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt
общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> result.txt
общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан
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 и ниже
sed ‘s/stringa1/stringa2/g’ example.txt
в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода.
sed ‘/^$/d’ example.txt
удалить пустые строки из файла example.txt
sed ‘/ *#/d; /^$/d’ example.txt
удалить пустые строки и комментарии из файла example.txt
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’
преобразовать символы из нижнего регистра в верхний
sed -e ‘1d’ result.txt
удалить первую строку из файла example.txt
sed -n ‘/string1/p’
отобразить только строки содержашие «string1»
sed -e ‘s/ *$//’ example.txt
удалить пустые символы в в конце каждой строки
sed -e ‘s/string1//g’ example.txt
удалить строку «string1» из текста не изменяя всего остального
sed -n ‘1,8p;5q’ example.txt
взять из файла с первой по восьмую строки и из них вывести первые пять
sed -n ‘5p;5q’ example.txt
вывести пятую строку
sed -e ‘s/0*/0/g’ example.txt
заменить последовательность из любого количества нулей одним нулём
cat -n file1
пронумеровать строки при выводе содержимого файла
cat example.txt | awk ‘NR%2==1’
при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk ‘{print $1}’
вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk ‘{print $1,$3}’
вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2
объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d ‘+’ file1 file2
объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2
отсортировать содержимое двух файлов
sort file1 file2 | uniq
отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u
отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d
отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2
сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2
сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’