LZMA2 - это система сжатия блоков, а gzip - нет. Это означает, что LZMA2 поддается многопоточности. Кроме того, если в архиве происходит повреждение, вы обычно можете восстановить данные из последующих блоков с помощью LZMA2, но вы не можете сделать это с помощью gzip. На практике вы теряете весь архив с gzip после поврежденного блока. С архивом LZMA2 вы теряете только файл (ы), затронутые поврежденными блоками. Это может быть важно в больших архивах с несколькими файлами.
Предполагая, что ваши файлы расположены в правильном порядке (цель, затем имя ссылки), и что ни одно имя файла не содержит специальных символов или пробелов:
sed 's/^/ln -sf /g' < src/symlinks | sh
преобразует ваш список симлинков в серию команд ln -sf
и запустит его с помощью sh
.
Решение с использованием цикла while
, в предположении, что пути не содержат пробелов или новых строк:
while IFS=' ' read -r t l; do ln -sf -- "$t" "$l"; done < src/symlinks