Здравствуйте!Есть много несортированных файлов вида
0124114687_Neurosc.pdf
0323057241_Dentistr.pdf
0323079547_Spine.pdf
0323085008 Care.pdf
0340815892 OSCEs.pdfКак из имен файлов можно удалить все символы, кроме цифр?
> 0124114687_Neurosc.pdf
> Как из имен файлов можно удалить все символы, кроме цифр?gnu bash$ S=0124114687_Neurosc.pdf
gnu bash$ echo ${S//[^0-9]}
0124114687
gnu bash$ _ЗЫ: На правоверном поссиксе -- дороже.
>> 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'
>>> 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'А с по маске эта как правильно будет?
>> да и не сильно дороже )
>> echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'
> А с по маске эта как правильно будет?Скажи ему сразу, чтобы переименовывал файлы.
Скажи ему сразу, чтобы расширение на месте оставлял.
Скажи ему сразу, что те надо, что те надо.Не тяни Эксперта на хвост.
>>> да и не сильно дороже )
>>> echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'
>> А с по маске эта как правильно будет?
> Скажи ему сразу, чтобы переименовывал файлы.
> Скажи ему сразу, чтобы расширение на месте оставлял.
> Скажи ему сразу, что те надо, что те надо.
> Не тяни Эксперта на хвост.Ну подскажи ему на awk !
>>> да и не сильно дороже )
>>> echo "0124114687_Neurosc.pdf" | sed 's/[^0-9]//g'
>> А с по маске эта как правильно будет?
> Скажи ему сразу, чтобы переименовывал файлы.
> Скажи ему сразу, чтобы расширение на месте оставлял.
> Скажи ему сразу, что те надо, что те надо.
> Не тяни Эксперта на хвост.Как бы это было изначально понятно. Один файл и руками можно переименовать.
> Как бы это было изначально понятно. Один файл и руками можно переименовать.Ну, как бы, молодец.
> Здравствуйте!
> Есть много несортированных файлов вида
> 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/'
> Есть много несортированных файлов вида
> 0124114687_Neurosc.pdf
> 0323057241_Dentistr.pdf
> 0323079547_Spine.pdf
> 0323085008 Care.pdf
> 0340815892 OSCEs.pdf
> Как из имен файлов можно удалить все символы, кроме цифр?rename 's/\D//g' *.pdf
>> Есть много несортированных файлов вида
>> 0124114687_Neurosc.pdf
>> 0323057241_Dentistr.pdf
>> 0323079547_Spine.pdf
>> 0323085008 Care.pdf
>> 0340815892 OSCEs.pdf
>> Как из имен файлов можно удалить все символы, кроме цифр?
> rename 's/\D//g' *.pdfВот это здорово! Но не сохраняется расширение..Ф
>>> Есть много несортированных файлов вида
>>> 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
>[оверквотинг удален]
>>>> 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Вот этот вариант работает как нужно! Спасибо!
>>> Есть много несортированных файлов вида
>>> 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
> Как из имен файлов можно удалить все символы, кроме цифр?Почитал ответы ... слегка удивлён :)
Короче я бы сделал так:basename "01241 14687_Neurosc.pdf" .pdf | sed 's/[^0-9]//g'
Дальше верти как надо.
> Здравствуйте!
> Есть много несортированных файлов вида
> 0124114687_Neurosc.pdf
> 0323057241_Dentistr.pdf
> 0323079547_Spine.pdf
> 0323085008 Care.pdf
> 0340815892 OSCEs.pdf
> Как из имен файлов можно удалить все символы, кроме цифр?на какую тему библиотЭка? )
>> Здравствуйте!
>> Есть много несортированных файлов вида
>> 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
Но, как раз с допиливанием у меня проблемы. А автора их я найти не могу.