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

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

Сообщение ALEXX » 03 фев 2015, 02:12

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'
Код: выделить все
comm -3 file1 file2
сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах

_________________________________________________________________
Умом Россию не понять, Аршином общим не измерить.
У ней особенная стать — В Россию можно только верить.
Федор Иванович Тютчев
Аватар пользователя
ALEXX
Администратор
Администратор
 
Автор темы
Сообщений: 1102
Фото: 32
Стаж: 2 года 7 месяцев 2 дня
Откуда: Королёв
Благодарил (а): 321 раз.
Поблагодарили: 181 раз.

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

Спонсор

Спонсор
 

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

Сообщение Packum » 03 фев 2015, 18:53

Учебник по sed от drBatty: http://emulek.github.io/sed/
Аватар пользователя
Packum
Активный участник
Активный участник
 
Сообщений: 173
Фото: 66
Стаж: 2 года 6 месяцев 5 дней
Откуда: С.Петербург
Благодарил (а): 86 раз.
Поблагодарили: 48 раз.

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

Сообщение Skull » 24 мар 2015, 13:18

Заменить по месту можно командой sed -i или subst.

Выводить только сообщения об ошибках:
Код: выделить все
cmd >/dev/null


Вывести и стандартный вывод и вывод ошибок в файл:
Код: выделить все
cmd &>file


Вывести и стандартный вывод и вывод ошибок в файл и одновременно показывать вывод на экране:
Код: выделить все
cmd 2>&1 | tee file
Аватар пользователя
Skull
Разговорчивый гость
Разговорчивый гость
 
Сообщений: 37
Стаж: 2 года 3 месяца 30 дней
Откуда: Климовск
Благодарил (а): 12 раз.
Поблагодарили: 6 раз.


Вернуться в Командная строка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron