Сообщения

Показаны сообщения с ярлыком "sed"

How to group from file by some condition or get count of unique data

For example you have file which contains log of some events. Before reading, I recommend subscribing to my Telegram channel, where you can find the latest news, examples, and hacks in the world of development: @asanov_tech . Input data: Dec  9 00:33:42 some log Dec  9 00:56:49 some log Dec  9 01:13:12 some log Dec  9 01:22:02 some log Dec  9 01:35:52 some log Dec  9 03:15:52 some log Dec  9 12:17:52 some log And you want group this file by hours. The code below will help group and display data: grep -oP "Dec\s+9\s(\d{2})" | sort | uniq -c  Output data: 2 Dec 9 00 3 Dec 9 01 1 Dec 9 03 1 Dec 9 12 First column - it's count of unique lines with the date. Flag -o is required to output only the requested substring (Dec\s+9\s(\d{2})) Flag -P  is required for enable  perl-style regexes Command sort  sorts the data. And uniq -c  find count of unique lines. Thank you for reading. Best regards, Ild...

Замена подстроки в файле при помощи sed, Linux

Замена подстроки в файле в Linux легко осуществляется при помощи встроенной утилиты sed. $ sed -e 's/ red / blue /g' filename.txt Из вышеприведенной конструкции: red - подстрока, которую нужно найти в файле blue -  подстрока, на которую нужно заменить filename.txt -  файл, в котором осуществляется поиск Чтобы сохранить изменения, нужно направить вывод в файл $  sed  -e 's/ red / blue /g'  filename.txt > filename_new.txt Если было полезным, большая просьба подписаться на мой телеграмм канал и рассказать друзьям:  @asanov_tech

Выборка относительно уникальных строк из файла (Unix,Linux)

Уникальные строки из файла Допустим, у Вас есть лог-файл, куда записываются различного рода операции,В данном случае ошибка #18956. В этом файле присутствует всего два различных значения: это дата ошибки и логин пользователя . Пример файла: [17-Oct-2012 01:32:29] ERROR! ERR-CODE=18956, login= Gonshik1 [17-Oct-2012 02:32:56] ERROR! ERR-CODE=18956, login=Gonshik1 [17-Oct-2012 13:15:50] ERROR! ERR-CODE=18956, login=Gonshik1 [17-Oct-2012 13:41:19] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 09:57:22] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:04:10] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:08:46] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:18:20] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:45:47] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 14:28:36] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 15:22:11] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 16:07:16] ERROR! ERR-CODE=18956, login=Gonshik1 [18-O...

Linux: вывести на печать определенные строки (bash, linux)

Всем привет. Например, Вам нужно вывести на печать определенные строки. Будь то в файл или на экран. Надеюсь Вы уже знаете как найти нужные Вам строки. Если нет, то подскажу, для этого Вам поможет команда grep  и egrep.  А вывести нужные строки на экран, Вам поможет функция  sed. Вывод на печать определенные строки Например Вам нужно вывести 100-120 строки на экран: sed -n '100,120p' some_file.txt (вывести на печатать строки с 100 по 120) Есть немного измененный вариант, который работает немного быстрее: sed -n '121q;100,120p' some_file.txt Ну вот и все, ах да. Если вы хотите вывести определенные строки в файл , то вам нужно в конце просто добавить:  > res_file.txt Вышеуказанный пример полностью будет выглядеть следующим образом: sed -n '121q;100,120p' file.txt > res_file.txt Вот и все. Теперь Вы умеете выводить нужные строки на печать или в файл . linux, bash