скриптик для rename файлов вопрос

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

russh
Сообщения: 10

скриптик для rename файлов вопрос

Сообщение russh »

Хай,
есть файл со списком вида

имя1 имя2


имя2 состоит из нескольких слов с пробелами,
хочу по этому фалу переименовать кучку файлов,
но затык произошёл с for'ом тк строчка вида

for i in $(cat "file");
do ...;
done;
записывает в массив по одному слову а мне надо чтобы целое предложение, как это можно реализовать?
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: скриптик для rename файлов вопрос

Сообщение uptime »

Пожалуй, проще всего с помощью sed'а.
Надо будет выцеплять первое слово из строки (старое имя файла) и остаток строки (новое имя файла).

Есть также команда rename, специально созданная для массового переименования файлов с использованием перловых выражений.

успехов
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: скриптик для rename файлов вопрос

Сообщение Portnov »

Код: Выделить всё

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
Спасибо сказали:
russh
Сообщения: 10

Re: скриптик для rename файлов вопрос

Сообщение russh »

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 я и искал :-)
Спасибо сказали: