anonymous@RULINUX.NET~# | Last login: 2024-08-26 08:58:24 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Talks | [RSS] |
Да, у меня давно рабочий день и башка не варит, а задач еще много.
Вот вам задачка:
есть директория /files/, в ней около 200к файлов и много директорий, поддериктрий и еще кучи файлов в каждой из них. В именах файлов встречаются пробелы(!) и дефисы. Необходимо переименовать все файлы так, чтобы вместо "name-name" было "name - name". То есть, все дефисы заменить на те же дефисы, но с пробелами по обе стороны. Все просто, и я даже такие задачки решать люблю. Но, блин, не под конец 12-часовой смены :(
vitroot(*) (2011-12-18 17:04:50)
Отредактировано vitroot по причине "не указана"
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
|
|
|
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дняне пойдет, переименует и директории, а если зациклишь в find'е, то потом будет запарка с переносами строк, потому что он пробелов левых наштампует vitroot(*)(2011-12-18 17:26:56)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7 |
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дняДля текущего каталога типа так (из Advanced Bash-Scripting Guide :) Попробовать на каком-то одном каталоге. Получится - применить скрипт рекурсивно. Bod(*)(2011-12-18 17:28:41)
Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0 Iceweasel/8.0 |
![]() |
vitroot(*)(2011-12-18 17:39:03)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7 |
![]() |
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дня> не пойдет, переименует и директории
|
![]() |
vitroot(*)(2011-12-18 18:58:41)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7 |
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дняЯ бы заюзал дефолтные удилиты без баша Id(*)(2011-12-18 19:11:44)
Mozilla/5.0 (Linux i686) AppleWebKit/535.4+ (KHTML, like Gecko) WebKitGTK+/1.6.1 luakit |
![]() |
vitroot(*)(2011-12-18 19:18:35)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7 |
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дня>и чем оно дефолтнее?
Id(*)(2011-12-18 20:16:33)
Mozilla/5.0 (Linux i686) AppleWebKit/535.4+ (KHTML, like Gecko) WebKitGTK+/1.6.1 luakit |
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дня> На чистом bash, думаю, придётся связывать в одну команду cat, sed и mv.
|
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дняВы все тут невероятно скучные. Использовать как ./mysuperguilescript.scm /path/to/dir. |
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дняЕще в номинации думаю могут поучаствовать программы Id(*)(2011-12-18 22:13:42)
Отредактировано Id по причине - Mozilla/5.0 (Linux i686) AppleWebKit/535.4+ (KHTML, like Gecko) WebKitGTK+/1.6.1 luakit |
![]() |
Скрыть
Re:[bash] задачка под конец рабочего дня>На похапэ чтоли накатать скрипт тогда. Или еще хлеще на С++/Qt.
|
|
|
|
Этот тред читают 2 пользователя: |
Анонимных: 2 Зарегистрированных: 0 |
Re:[bash] задачка под конец рабочего дня
for p in *; do mv "$p" "${p//-/ - /}"; done
ну или rm -rf *