LINUX.ORG.RU

как переименовать файлы :)


0

0
Вот не знаю как переименовать файлы : имеется много файлов *-sample мне их нужно переименовать в * , то есть убрать суффикс -sample в именах файлов

команда cp *-sample * конечно же не работает =)


find -type f | while read i; do echo mv "$i" `echo "$i" | sed s/-sample//`; done
for i in *; do mv "$i" `echo "$i" | sed s/-sample//`; done
Deleted
()
Ответ на: комментарий от ss85
'for i in `find' нижжод, так как не обрабатываются пробелы в именах
А вот 'find -type -f | while read i' таки жжод.
Deleted
()
Ответ на: комментарий от ss85
так лучшее:

find ./ -name "*-sample" -type f | while read file; do mv "$file" "${file%-sample}"; done

gorilych ★★
()
> команда cp *-sample * конечно же не работает =)

зато прекрасно портит один файл. :)
Adjkru ★★★★★
()
Ответ на: комментарий от Eddy_Em
> rename "-sample" "" *-sample

в дебиане (и других системах с perl rename == rename) другой синтаксис.
Adjkru ★★★★★
()
Ответ на: комментарий от Adjkru
В mc:

Копировать с исходным шаблоном: *-sample
В: *
или В: \1
или В: ${1}

первый вариант будет доступен в mc-4.7.0-pre2
вторые два - в mc-4.7.0-pre1
Slavaz ★★★★★
()
Ответ на: комментарий от Elverion
Вспори живот!Вспори живот!Вспори живот!Вспори живот!Вспори живот! Это единственное,что очистит тебя от скверны упоминания ТогоЧтоНельзяУпоминать
anonymous
()
Ответ на: комментарий от iZEN
[irony]Не узнаю тебя, надо было сказать, что в БСД это делается одной командой, а в Линуксе, как всегда приходится костыли придумывать.[/irony]
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.