Я хочу скопировать изображение (grey.png) и переименовать его как несколько различных изображений, у меня есть список имен (pastebin), там какой-либо путь? (выполнение 13.10)
Я предположу, что у Вас есть список имен в файле по телефону /path/to/target_names
.
, Чтобы сделать копии, открыть терминал и cd
к каталогу, содержащему этот файл. Тогда выполненный
for i in $( </path/to/target_names tr -d ',' ); do cp grey.png ${i}; done
Вместо копирования, которое умножит размер, требуемый количеством новых файлов, Вы могли использовать символьные ссылки использования вместо этого, где каждый новые ссылки на файл исходный файл, не копируя его.
for i in $( </path/to/target_names tr -d ',' ); do ln -s grey.png ${i}; done
N.B., что при использовании символьных ссылок Вы не будете в состоянии изменить относительные пути оригинала и целей позже. т.е. они должны будут остаться в том же каталоге. (Можно сделать символьную ссылку для альтернативного каталога с исходной командой, если Вам нравится.)
Предположим, что у Вас есть файл names.txt
со всем этим, отображает имена.
Создают новую папку для копий:
mkdir copies
Теперь немного тестируют. Это должно произвести все имена файлов
for name in `sed -r 's/,/\n/g;s/ *//g' names.txt`; do echo $name; done
, Если это хорошо работает, действительно затем ступают.
Наконец делают копии к copies
папка. Я предполагаю, что Вы выполняете это в папке, где names.txt
и папка copies
расположены.
for name in `sed -r 's/,/\n/g;s/ *//g' names.txt`; do cp grey.png copies/$name; done