Гость
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / sed заменить подстроку в строке / 8 сообщений из 8, страница 1 из 1
25.08.2019, 13:47
    #39853539
Aliara
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
Добрый день. Начала только осваивать текстовые процессоры в linux, поэтому никак не могу справиться с заданием

Есть файл с набором строк (java log)
25.08.2019 12:00:01 [Main:21] [thread-1] "nikolaev" "financial division" "Open form"
25.08.2019 12:00:02 [Main:25] [thread-1] "nikolaev" "financial division" "Click button"
25.08.2019 12:00:02 [Main:21] [thread-3] "minkevich" "legal department" "Open form"
25.08.2019 12:00:04 [Main:28] [thread-1] "nikolaev" "financial division" "Click button"
25.08.2019 12:00:02 [Main:21] [thread-3] "minkevich" "legal department" "Click button"

Строки всегда формата
date time [class] [thread] "user" "department" "action"

Необходимо изменить департамент на "untelTelecom" с использованием sed.
Если бы можно было использовать awk, то распарсила бы по пробелу и взяла бы $6. Но как тут добраться до департамента - не понимаю
...
Рейтинг: 0 / 0
26.08.2019, 07:57
    #39853632
bga83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
Aliara,

случаем не каккие-нибудь EPAM-овские курсы? - там периодически встерчаются подобные задания , которые sed-ом решаются в виде кода строк на 100
...
Рейтинг: 0 / 0
26.08.2019, 18:00
    #39853843
Alex URS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
/ / /
...
Рейтинг: 0 / 0
26.08.2019, 23:09
    #39853947
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
Что, только сед?
Проще на нормальном языке написать...
...
Рейтинг: 0 / 0
27.08.2019, 00:24
    #39853961
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
Навскидку, что-то вроде такого:
Код: sql
1.
cat java.log | sed 's;\([^"]*\s"[^"]*"\s\)"[^"]*"\(\s"[^"]*"\).*;\1"untelTelecom"\2;'


Может регулярка и поизящнее получится, но не сейчас.
...
Рейтинг: 0 / 0
27.08.2019, 00:26
    #39853962
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
В конце регекспа .* лишние
...
Рейтинг: 0 / 0
27.08.2019, 00:47
    #39853967
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
vkleМожет регулярка и поизящнее получится

Вот это по идее должно заменить второй закавыченный кусок:
Код: sql
1.
cat java.log | sed 's;"[^"]*";"untelTelecom";2'


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.08.2019, 16:11
    #39854283
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed заменить подстроку в строке
Dimitry SibiryakovВот это по идее должно заменить второй закавыченный кусок:
Код: sql
1.
cat java.log | sed 's;"[^"]*";"untelTelecom";2'

Вроде, компактный вариант правильно сработал.
Эх, век - учись :)
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / sed заменить подстроку в строке / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]