Раньше убирал дубликаты, конвертируя одинаковые файлы в симлинки программой 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;
обращаю внимание, что директории этот скрипт не трогает и работает из текущей директории
Проверить, что пойдет на переделку и результаты работы скрипта можно командой