bash скрипт (как побороть точку при замене?)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

bash скрипт

Сообщение dreamer_astr »

есть вот такой участок кода:

Код: Выделить всё

file1=faac-1.25-2.1.i586
file=${file1/%./ }

необходимо заменить последнюю точку на пробел, но почему-то данная конструкция не работает. Как быть (точнее как надо изменить, чтобы заработало?
Спасибо сказали:
Аватара пользователя
sergeyvp
Сообщения: 807
ОС: ubuntu
Контактная информация:

Re: bash скрипт

Сообщение sergeyvp »

dreamer_astr писал(а):
24.06.2007 12:00
есть вот такой участок кода:

Код: Выделить всё

file1=faac-1.25-2.1.i586
file=${file1/%./ }

необходимо заменить последнюю точку на пробел, но почему-то данная конструкция не работает. Как быть (точнее как надо изменить, чтобы заработало?

Можно сделать так
file1=faac-1.25-2.1.i586
file=${file1/.i/ i}

Хотя это несовсем правильно :)
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian
Контактная информация:

Re: bash скрипт

Сообщение diesel »

дурацкий вариант:

Код: Выделить всё

file="${file1%.*} ${file1##*.}";
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус
Контактная информация:

Re: bash скрипт

Сообщение KiWi »

Код: Выделить всё

file=$(echo $file1 | sed 's/\.\([^.]*\)$/ \1/')

:D
Спасибо сказали:
dreamer_astr
Сообщения: 170
ОС: Ubuntu 9.10

Re: bash скрипт

Сообщение dreamer_astr »

sergeyvp писал(а):
24.06.2007 12:25
dreamer_astr писал(а):
24.06.2007 12:00
есть вот такой участок кода:

Код: Выделить всё

file1=faac-1.25-2.1.i586
file=${file1/%./ }

необходимо заменить последнюю точку на пробел, но почему-то данная конструкция не работает. Как быть (точнее как надо изменить, чтобы заработало?

Можно сделать так
file1=faac-1.25-2.1.i586
file=${file1/.i/ i}

Хотя это несовсем правильно :)

через i не подходит, тк не факт что в будущем i там будет... (может быть и src и x86_64).
Всем спасибо :)
Спасибо сказали:
Ответить