powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / sed ?
9 сообщений из 9, страница 1 из 1
sed ?
    #36821459
Eras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уважаемые All. вот немогу придумать как убрать "-" в фрагменте "o=..."
если делать так:
Код: plaintext
1.
echo "#chmod o=r-- /app/oracle/product/11.2/xdk/lib/xquery-x.jar" | sed 's/-*//g'

плохо, так как поменяется и "/app/oracle/product/11.2/xdk/lib/xquery-x.jar" на "/app/oracle/product/11.2/xdk/lib/xqueryx.jar"

собствено проблема

имеем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$ cat rep.cp1
#chmod o=r-- /app/oracle/product/11.2/xdk/lib/xquery-x.jar
#chmod o=-w- /app/oracle/product/ 11 . 2 /xdk/lib/xschema-wx.jar
#chmod o=--x /app/oracle/product/11.2/xdk/lib/xsqldemos-r.ear
#chmod o=r-x /app/oracle/product/ 11 . 2 /xdk/lib/xsqlserializers.jar
#chmod o=rw- /app/oracle/product/ 11 . 2 /xdk/lib/xsu12.jar
#chmod o=rwx /app/oracle/product/ 11 . 2 /xdk/mesg/lpxus.msb
#chmod o=-wx /app/oracle/product/ 11 . 2 /xdk/mesg/lpxus.msg
#chmod o=r-- /app/oracle/product/11.2/xdk/mesg/lsxus.msb
#chmod o=rwx /app/oracle/product/ 11 . 2 /xdk/mesg/lsxus.msg
#chmod o=r-x /app/oracle/product/ 11 . 2 /xdk/readme.html

надо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#chmod o=r /app/oracle/product/ 11 . 2 /xdk/lib/xquery-x.jar
#chmod o=w /app/oracle/product/ 11 . 2 /xdk/lib/xschema-wx.jar
#chmod o=x /app/oracle/product/ 11 . 2 /xdk/lib/xsqldemos-r.ear
#chmod o=rx /app/oracle/product/ 11 . 2 /xdk/lib/xsqlserializers.jar
#chmod o=rw /app/oracle/product/ 11 . 2 /xdk/lib/xsu12.jar
#chmod o=rwx /app/oracle/product/ 11 . 2 /xdk/mesg/lpxus.msb
#chmod o=wx /app/oracle/product/ 11 . 2 /xdk/mesg/lpxus.msg
#chmod o=r /app/oracle/product/ 11 . 2 /xdk/mesg/lsxus.msb
#chmod o=rwx /app/oracle/product/ 11 . 2 /xdk/mesg/lsxus.msg
#chmod o=rx /app/oracle/product/ 11 . 2 /xdk/readme.html
...
Рейтинг: 0 / 0
sed ?
    #36821997
Alexey181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Erasуважаемые All. вот немогу придумать как убрать "-" в фрагменте "o=..."
если делать так:
Код: plaintext
1.
echo "#chmod o=r-- /app/oracle/product/11.2/xdk/lib/xquery-x.jar" | sed 's/-*//g'

плохо, так как поменяется и "/app/oracle/product/11.2/xdk/lib/xquery-x.jar" на "/app/oracle/product/11.2/xdk/lib/xqueryx.jar"

так не поменяет
Код: plaintext
echo "#chmod o=r-- /app/oracle/product/11.2/xdk/lib/xquery-x.jar" | sed 's/-//1;s/-//1'
но надо все равно смотреть
...
Рейтинг: 0 / 0
sed ?
    #36822028
Eras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey181,

неа, поминяет:

Код: plaintext
1.
echo "#chmod o=r-x /app/oracle/product/11.2/xdk/lib/xquery-x.jar" | sed 's/-//1;s/-//1'

т.к. неведомо какие "o=..." могут быть
...
Рейтинг: 0 / 0
sed ?
    #36822058
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eras, писать скрипт-однодневку на изначально примитивном языке - глупость.
напишите на том языке, который знаете.
...
Рейтинг: 0 / 0
sed ?
    #36822081
Подумалось...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
awk '{gsub("\-","",$2); print $1 " " $2 " " $3}' cat rep.cpl
...
Рейтинг: 0 / 0
sed ?
    #36822085
Подумалось...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин. Вот так лучше.

Код: plaintext
1.
cat rep.cpl | awk '{gsub("\-","",$2); print $1 " " $2 " " $3}'
...
Рейтинг: 0 / 0
sed ?
    #36822185
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eras,

Код: plaintext
echo "#chmod o=r-- /app/oracle/product/11.2/xdk/lib/xquery-x.jar" | sed 's/=-*\([rwx]\+\)-*/=\1/g'
Если возможен случай полного отсутсвия прав, следует заменить + на *.
...
Рейтинг: 0 / 0
sed ?
    #36822195
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eras,

да, и "g" в конце стоит убрать.
...
Рейтинг: 0 / 0
sed ?
    #36822797
Eras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mozok,

Код: plaintext
1.
sed 's/=-*\([rwx]\+\)-*/=\1/g'

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


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