Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / обработать имя в скрипте / 9 сообщений из 9, страница 1 из 1
28.12.2010, 11:53
    #37038643
топ-топ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
не соображу -
в цикле перебираются файлы вида name1.zzz, name2.zz.xx
как получить в переменной не полное имя name1.zzz, а то, что до последней точки ->
т.е. name1, name2.zz
?
...
Рейтинг: 0 / 0
28.12.2010, 12:37
    #37038770
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
| sed s/\.[^.]*$//
...
Рейтинг: 0 / 0
28.12.2010, 13:22
    #37038908
топ-топ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
--null--| sed s/\.[^.]*$//
работает, хотя и непонятно :)
спасибо
...
Рейтинг: 0 / 0
11.01.2011, 11:04
    #37052054
зaшeдший.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
топ-топ--null--| sed s/\.[^.]*$//
работает, хотя и непонятно :)
спасибо
а как еще можно подобную задачу сделать (без sed) ?
...
Рейтинг: 0 / 0
11.01.2011, 13:24
    #37052344
fandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
зaшeдший.топ-топпропущено...

работает, хотя и непонятно :)
спасибо
а как еще можно подобную задачу сделать (без sed) ?


# man basename


если после точки (.) что-то произвольное, тогда курить регулярные выражения (см. пост --null-- выше)...
...
Рейтинг: 0 / 0
11.01.2011, 13:42
    #37052407
tempestadept
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
Если $file - имя файла, то ${file%.*} - имя до последней точки
...
Рейтинг: 0 / 0
11.01.2011, 15:38
    #37052767
зaшeдший.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
tempestadeptЕсли $file - имя файла, то ${file%.*} - имя до последней точки
элегантно, thanks
...
Рейтинг: 0 / 0
13.01.2011, 10:05
    #37055987
топ-топ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
tempestadeptЕсли $file - имя файла, то ${file%.*} - имя до последней точки
здорово. а как это расшифровать (что и где прочитать про такую конструкцию, не попадалось еще) ?
...
Рейтинг: 0 / 0
13.01.2011, 16:32
    #37057195
avb1003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработать имя в скрипте
топ-топtempestadeptЕсли $file - имя файла, то ${file%.*} - имя до последней точки
здорово. а как это расшифровать (что и где прочитать про такую конструкцию, не попадалось еще) ?
man bash, " Parameter Expansion"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
...
  ${parameter%word}
  ${parameter%%word}
              The word is expanded to produce a pattern just  as  in  pathname
              expansion.   If  the  pattern  matches a trailing portion of the
              expanded value of parameter, then the result of the expansion is
              the  expanded value of parameter with the shortest matching pat-
              tern (the ``%'' case)  or  the  longest  matching  pattern  (the
              ``%%''  case)  deleted.   If  parameter  is  @ or *, the pattern
              removal operation is applied to  each  positional  parameter  in
              turn,  and the expansion is the resultant list.  If parameter is
              an array variable subscripted with @ or *, the  pattern  removal
              operation  is  applied  to each member of the array in turn, and
              the expansion is the resultant list.
...
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / обработать имя в скрипте / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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