LINUX.ORG.RU

Как заменять файлы без учета регистра.

 ,


0

1

Что-то я не осилил, допустим есть папка X с файлами:

firstfile.txt
secondfile.txt
...
И есть папка Y с содержимым:
FirstFile.txt
SecondFile.txt
...
Как сделать так, чтобы файлы из папки Y заменились на файлы из папки X?
Если просто перемещать, то содержимое папки Y будет:
firstfile.txt
secondfile.txt
FirstFile.txt
SecondFile.txt
...



Последнее исправление: z00ke (всего исправлений: 2)

Ответ на: комментарий от anonymous

Дополнил сообщение, теперь должно быть понятно что я хочу.

z00ke
() автор топика
Ответ на: комментарий от erfea

В том то идело, файлов заменить нужно много и переписывать вручную каждый мне бы не хотелось.

z00ke
() автор топика
Ответ на: комментарий от pztrn

Ок. Если другого решения не найдется, займусь после работы, ибо надо еще вникать в синтаксис питона.

z00ke
() автор топика

Наколенное решение, возможно есть что-то готовое.

for FILE in * ; do a=`ls -1 ../y | grep -i "$FILE"` ; echo $a ; mv $FILE ../y/$a ; done
kostik87 ★★★★★
()

проходить по директории Y, для каждого файла делать lowercase, искать в директории X, а потом заменять.

что-то в стиле:

for i in $(ls -1 Y); do cp X/${i,,} Y/i; done

silw ★★★★★
()
Ответ на: комментарий от kostik87

Соответственно нужно находиться в директории 'X'

kostik87 ★★★★★
()

Спасибо людям выше, все теперь все как надо :)

z00ke
() автор топика
Ответ на: комментарий от kostik87

Но такая команда сработает, если во второй директории есть только один файл подпадающий под шаблон поиска.

kostik87 ★★★★★
()
Ответ на: комментарий от anonymous

Понятно же что я имел в виду, можно было и не придираться к слову :) Сейчас уже исправить не могу, но если тебе угодно - директория.

z00ke
() автор топика
Ответ на: комментарий от erfea

Рекомендация: вместо tr использовать sed, т.к. у tr проблемы с юникодом

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)

Извратный вариант: поднять самбу, расшарить нужную директорию, примонтировать локально шару и теперь копировать.

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.