The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Подскажите, как удалить из имени файла все символы, кроме цифр"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Magi (??) on 08-Ноя-13, 13:30 
Здравствуйте!

Есть много несортированных файлов вида
0124114687_Neurosc.pdf
0323057241_Dentistr.pdf
0323079547_Spine.pdf
0323085008 Care.pdf  
0340815892 OSCEs.pdf

Как из имен файлов можно удалить все символы, кроме цифр?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Andrey Mitrofanov on 08-Ноя-13, 13:40 
> 0124114687_Neurosc.pdf
> Как из имен файлов можно удалить все символы, кроме цифр?

gnu bash$ S=0124114687_Neurosc.pdf
gnu bash$ echo ${S//[^0-9]}
0124114687
gnu bash$ _

ЗЫ: На правоверном поссиксе -- дороже.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от bob (??) on 08-Ноя-13, 14:43 
>> 0124114687_Neurosc.pdf
>> Как из имен файлов можно удалить все символы, кроме цифр?
> gnu bash$ S=0124114687_Neurosc.pdf
> gnu bash$ echo ${S//[^0-9]}
> 0124114687
> gnu bash$ _
> ЗЫ: На правоверном поссиксе -- дороже.

да и не сильно дороже )
echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Подскажите, как удалить из имени файла все символы, кроме цифр"  –1 +/
Сообщение от Magi (??) on 08-Ноя-13, 14:57 
>>> 0124114687_Neurosc.pdf
>>> Как из имен файлов можно удалить все символы, кроме цифр?
>> gnu bash$ S=0124114687_Neurosc.pdf
>> gnu bash$ echo ${S//[^0-9]}
>> 0124114687
>> gnu bash$ _
>> ЗЫ: На правоверном поссиксе -- дороже.
> да и не сильно дороже )
> echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'

А с по маске эта как правильно будет?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Andrey Mitrofanov on 08-Ноя-13, 15:07 
>> да и не сильно дороже )
>> echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'
> А с по маске эта как правильно будет?

Скажи ему  сразу, чтобы переименовывал файлы.
Скажи ему  сразу, чтобы расширение на месте оставлял.
Скажи ему  сразу, что те надо, что те надо.

Не тяни Эксперта на хвост.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от михалыч (ok) on 08-Ноя-13, 15:14 
>>> да и не сильно дороже )
>>> echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'
>> А с по маске эта как правильно будет?
> Скажи ему  сразу, чтобы переименовывал файлы.
> Скажи ему  сразу, чтобы расширение на месте оставлял.
> Скажи ему  сразу, что те надо, что те надо.
> Не тяни Эксперта на хвост.

Ну подскажи ему на awk !

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Magi (??) on 08-Ноя-13, 15:23 
>>> да и не сильно дороже )
>>> echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'
>> А с по маске эта как правильно будет?
> Скажи ему  сразу, чтобы переименовывал файлы.
> Скажи ему  сразу, чтобы расширение на месте оставлял.
> Скажи ему  сразу, что те надо, что те надо.
> Не тяни Эксперта на хвост.

Как бы это было изначально понятно. Один файл и руками можно переименовать.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Andrey Mitrofanov on 08-Ноя-13, 15:36 
> Как бы это было изначально понятно. Один файл и руками можно переименовать.

Ну, как бы, молодец.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

6. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от михалыч (ok) on 08-Ноя-13, 15:14 
> Здравствуйте!
> Есть много несортированных файлов вида
> 0124114687_Neurosc.pdf
> 0323057241_Dentistr.pdf
> 0323079547_Spine.pdf
> 0323085008 Care.pdf
> 0340815892 OSCEs.pdf
> Как из имен файлов можно удалить все символы, кроме цифр?

echo "0124114687_Neurosc.pdf" | perl -pe 's/(\d*).*(\..*)$/$1$2/'

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Аноним (??) on 08-Ноя-13, 17:52 
> Есть много несортированных файлов вида
> 0124114687_Neurosc.pdf
> 0323057241_Dentistr.pdf
> 0323079547_Spine.pdf
> 0323085008 Care.pdf
> 0340815892 OSCEs.pdf
> Как из имен файлов можно удалить все символы, кроме цифр?

rename 's/\D//g' *.pdf

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Magi email(??) on 08-Ноя-13, 18:49 
>> Есть много несортированных файлов вида
>> 0124114687_Neurosc.pdf
>> 0323057241_Dentistr.pdf
>> 0323079547_Spine.pdf
>> 0323085008 Care.pdf
>> 0340815892 OSCEs.pdf
>> Как из имен файлов можно удалить все символы, кроме цифр?
> rename 's/\D//g' *.pdf

Вот это здорово! Но не сохраняется расширение..Ф

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +1 +/
Сообщение от михалыч (ok) on 08-Ноя-13, 19:21 
>>> Есть много несортированных файлов вида
>>> 0124114687_Neurosc.pdf
>>> 0323057241_Dentistr.pdf
>>> 0323079547_Spine.pdf
>>> 0323085008 Care.pdf
>>> 0340815892 OSCEs.pdf
>>> Как из имен файлов можно удалить все символы, кроме цифр?
>> rename 's/\D//g' *.pdf
> Вот это здорово! Но не сохраняется расширение..Ф

Тогда поизвращаемся ))

ls -1 | grep '\.pdf' | awk '{print "mv \"" $0 "\" `echo \"" $0 "\" | sed -r '\''s/([0-9]*).*(\\..*)/\\1\\2/'\''`"}' | sh

или так

ls -1 | grep '\.pdf' | awk '{print "mv \"" $0 "\" $(echo \"" $0 "\" | sed -r '\''s/([0-9]*).*(\\..*)/\\1\\2/'\'')"}' | sh

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Magi email(??) on 09-Ноя-13, 01:57 
>[оверквотинг удален]
>>>> 0340815892 OSCEs.pdf
>>>> Как из имен файлов можно удалить все символы, кроме цифр?
>>> rename 's/\D//g' *.pdf
>> Вот это здорово! Но не сохраняется расширение..Ф
> Тогда поизвращаемся ))
> ls -1 | grep '\.pdf' | awk '{print "mv \"" $0 "\"
> `echo \"" $0 "\" | sed -r '\''s/([0-9]*).*(\\..*)/\\1\\2/'\''`"}' | sh
> или так
> ls -1 | grep '\.pdf' | awk '{print "mv \"" $0 "\"
> $(echo \"" $0 "\" | sed -r '\''s/([0-9]*).*(\\..*)/\\1\\2/'\'')"}' | sh

Вот этот вариант работает как нужно! Спасибо!

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

12. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от XAnder (ok) on 08-Ноя-13, 20:55 
>>> Есть много несортированных файлов вида
>>> 0124114687_Neurosc.pdf
>>> 0323057241_Dentistr.pdf
>>> 0323079547_Spine.pdf
>>> 0323085008 Care.pdf
>>> 0340815892 OSCEs.pdf
>>> Как из имен файлов можно удалить все символы, кроме цифр?
>> rename 's/\D//g' *.pdf
> Вот это здорово! Но не сохраняется расширение..Ф

Если цифры всегда только одной группой, то можно так:

rename 's/^.*(\d+).*$/$1.pdf/' *.pdf

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

14. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Аноним (??) on 09-Ноя-13, 20:57 
> Как из имен файлов можно удалить все символы, кроме цифр?

Почитал ответы ... слегка удивлён :)
Короче я бы сделал так:

basename "01241 14687_Neurosc.pdf" .pdf | sed 's/[^0-9]//g'

Дальше верти как надо.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Pahanivo (ok) on 12-Ноя-13, 13:17 
> Здравствуйте!
> Есть много несортированных файлов вида
> 0124114687_Neurosc.pdf
> 0323057241_Dentistr.pdf
> 0323079547_Spine.pdf
> 0323085008 Care.pdf
> 0340815892 OSCEs.pdf
> Как из имен файлов можно удалить все символы, кроме цифр?

на какую тему библиотЭка? )

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Подскажите, как удалить из имени файла все символы, кроме цифр"  +/
Сообщение от Magi (??) on 12-Ноя-13, 13:33 
>> Здравствуйте!
>> Есть много несортированных файлов вида
>> 0124114687_Neurosc.pdf
>> 0323057241_Dentistr.pdf
>> 0323079547_Spine.pdf
>> 0323085008 Care.pdf
>> 0340815892 OSCEs.pdf
>> Как из имен файлов можно удалить все символы, кроме цифр?
> на какую тему библиотЭка? )

Из названий файлов видно. Медицина, фармация, химия, и биология.
Вот совершенно замечательные скрипты, которые нужно немного допилить

http://pastebin.com/4Tjs9rJU
http://pastebin.com/J7BS47d2
http://pastebin.com/rhCzPHKz
Но, как раз с допиливанием у меня проблемы. А автора их я найти не могу.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру