Ситуация такая: скачал архив и "открыл" его mc. Содержимое показал сравнительно быстро. Нажал F5 и узрел ETA ~час. Отменил и запустил unzip - ~10 сек и архив распакован. Конечно архив уже висел в кэше (после mc), но почему?
меня долго мучала мысль о возможности создания паролегенерилки по стандартной схеме вроде sha ( login @ domain / resource + num + salt +secret ), но теперь понимаю что единственный плюс отнюдь не перевешивает минусы. посему вопрос - насколько надёжна keepassx, насколько распространён .kbd и насколько жив сам проект keepassx. я хочу стандартный способ безопасного и удобного хранения куч паролей на множество ресурсов, и отнюдь не хочу в один прекрасный день в ближайшие хотя бы года 3 получить сообщение о том, что мой софт для хранения паролей только что всё и моя уютная база теперь ничем не отличается от мусора на винте.
Написал скрипт, который побуквенно считывает текстовый файл $file:
while IFS= read -r -n1 c; do
...
echo -n "$c" >> "$file1"
...
done < "$file"
Проблема в том, что полученный таким образом $file1 не содержит разрывов строк и в итоге получается одна большая строка, cat «$file1»|wc -l дает 0. Как мне добавить разрывы строк?
seps='\$\$'
let i=0
while [ "$i" -lt "$maxi" ]; do
line="${array[$i]}"
sed -i "s/$seps/$line/" "$file"
#echo "[$i]: Заменяю [$seps] на [$line]..."
let i=$i+1
done
Скрипт берет строчки из файла-2 и единожды заменяет определенную последовательность символов (в данном случае $$) из файла-1 на соответствующую строчку из файла-2 (номер строчки посли замены увеличивается на 1). Тесты показали, что все в порядке (в том числе прогон с echo), однако в реальной практике sed зачем-то заменяет $$ два раза, даже если явно указать s///1. Т.е. если должно быть $$ => a[0], $$ => a[1], $$ => a[2] и т.д., получаем примерно так: $$ => a[0], $$ => a[0], $$ => a[1], $$ => a[0], $$ => a[1], $$ => a[2]. Почему так?
Прошу прощения, если неясно сформулировал проблему.