16.11.2020 12:40
OlegON
 
Раньше убирал дубликаты, конвертируя одинаковые файлы в симлинки программой rdfind. Это работало и было удобно. Однако, сейчас мне это не требуется и необходимо было симлинки сконвертировать обратно в файлы. Как это сделать.
Попадающаяся в интернете строка
Код:
for f in $(find -type l);do cp --remove-destination $(readlink $f) $f;done;
не работает с именами файлов, где есть пробелы, поэтому переписал на более контролируемый вариант
Код:
#!/bin/bash
find -type l | while read f
do
d=$(readlink "$f")
echo "$f -> $d"
cp --remove-destination "$d" "$f"
done;
обращаю внимание, что директории этот скрипт не трогает и работает из текущей директории
Проверить, что пойдет на переделку и результаты работы скрипта можно командой
Код:
find -type l

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.