powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Редирект stderr + сообщение
4 сообщений из 4, страница 1 из 1
Редирект stderr + сообщение
    #39368492
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет. Тривиальная задача, но никак не могу понять как сделать :) Есть много скриптов. Мне нужно редиректить stderr в файл и добавлять сообщение о том, каким скриптом была сгенерирована ошибка. Вроде "script.sh 2>> echo "script.sh - " error.log"
...
Рейтинг: 0 / 0
Редирект stderr + сообщение
    #39368814
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
# ls -1 /nofile1 /nofile2  /tmp  2> >(while read line;do echo "my testing prefix: $line";done)
/tmp:
hsperfdata_oracle
kde-oracle
ksocket-oracle
vmware-root
my testing prefix: ls: cannot access /nofile1: No such file or directory
my testing prefix: ls: cannot access /nofile2: No such file or directory
...
Рейтинг: 0 / 0
Редирект stderr + сообщение
    #39368825
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и до кучи другие варианты добавления префикса в каждую линию



With sed:

Код: sql
1.
2.
3.
4.
5.
$ sed 's/^/myprefix_/' a.txt
myprefix_aaa
myprefix_bbb
myprefix_ccc
myprefix_ddd


This replaces every line beginning ^ with myprefix_. Note that ^ is not lost, so this allows to add content to the beginning of each line.

You can make your awk's version shorter with:

Код: sql
1.
2.
3.
4.
5.
$ awk '$0="myprefix_"$0' a.txt
myprefix_aaa
myprefix_bbb
myprefix_ccc
myprefix_ddd



or passing the value:

Код: sql
1.
2.
3.
4.
5.
6.
$ prefix="myprefix_"
$ awk -v prefix="$prefix" '$0=prefix$0' a.txt
myprefix_aaa
myprefix_bbb
myprefix_ccc
myprefix_ddd



It can also be done with nl:

Код: sql
1.
2.
3.
4.
5.
$ nl -s "prefix_" a.txt | cut -c7-
prefix_aaa
prefix_bbb
prefix_ccc
prefix_ddd


Finally: as John Zwinck explains, you can also do:

Код: sql
1.
paste -d'' <(yes prefix_) a.txt | head -n $(wc -l a.txt)



on OS X:

Код: sql
1.
paste -d '\0' <(yes prefix_) a.txt | head -n $(wc -l < a.txt)
...
Рейтинг: 0 / 0
Редирект stderr + сообщение
    #39375962
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Редирект stderr + сообщение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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