Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как конвертировать symlink в соответствующие файлы : Linux

29.03.2024 11:33


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
Часовой пояс GMT +3, время: 11:33.

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