Вместо того, чтобы перезаписывать выходной файл в каждой итерации цикла, вы можете копировать входной файл как выходной файл и работать с этим выходным файлом.
С параметром sed
и -i
изменения записываются в место -того же файла, поэтому предыдущие замены не теряются:
cp input output
while read bef aft
do
echo "Searching for $bef"
echo "Replacing with $aft"
sed -i "s/$bef/$aft/g" output
done < template
В бассейне работает скруббер. После остановки очистки кеш использовался как обычно (0,24 ГБ свободно, остальное использовалось как кеш ).
$ sudo zpool scrub -s rpool
[...wait...]
$ free
total used free shared buff/cache available
Mem: 8023836 4043000 241208 680 3739628 3714144
Swap: 18942984 175360 18767624
Я понятия не имею, почему скраб должен вызывать такое поведение, и прямо сейчас мне нужен ввод-вывод, поэтому скраб должен подождать.