Хай,
есть файл со списком вида
имя1 имя2
имя2 состоит из нескольких слов с пробелами,
хочу по этому фалу переименовать кучку файлов,
но затык произошёл с for'ом тк строчка вида
for i in $(cat "file");
do ...;
done;
записывает в массив по одному слову а мне надо чтобы целое предложение, как это можно реализовать?
скриптик для rename файлов вопрос
Модератор: Bizdelnick
-
uptime
- Сообщения: 1661
- Статус: Drinker with computing problems
- ОС: kubuntu 8.04
Re: скриптик для rename файлов вопрос
Пожалуй, проще всего с помощью sed'а.
Надо будет выцеплять первое слово из строки (старое имя файла) и остаток строки (новое имя файла).
Есть также команда rename, специально созданная для массового переименования файлов с использованием перловых выражений.
успехов
Надо будет выцеплять первое слово из строки (старое имя файла) и остаток строки (новое имя файла).
Есть также команда rename, специально созданная для массового переименования файлов с использованием перловых выражений.
успехов
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: скриптик для rename файлов вопрос
Код: Выделить всё
while read LINE < file
do NAME1=$(echo $LINE | cut -d' ' -f1)
NAME2=$(echo $LINE | cut -d' ' -f2-)
mv $NAME1 "$NAME2"
doneЧто-то в этом духе.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
russh
- Сообщения: 10
Re: скриптик для rename файлов вопрос
Portnov писал(а): ↑18.11.2007 10:43Код: Выделить всё
while read LINE < file do NAME1=$(echo $LINE | cut -d' ' -f1) NAME2=$(echo $LINE | cut -d' ' -f2-) mv $NAME1 "$NAME2" done
Что-то в этом духе.
о спасиба read я и искал :-)