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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.