Если ваша система поддерживает файловую систему uion -, например aufs или overlayfs , исходный файл squashfs извлекать не нужно.
Например, overlayfs используется (параметр ядра для его включения ):Сначала вы можете смонтировать файл squashfs.file в /fm или куда-нибудь еще. Подготовьте доступную для записи файловую систему с двумя каталогами, скажем, /to и /temp . подготовьте другой доступный для записи каталог /fin для объединенных результатов. Смонтируйте их вместе как наложение на вашу систему---
mount -t overlay -o lowerdir=/fm,upperdir=/to,workdir=/temp overlay /fin
Теперь вы можете добавлять/изменять файлы в /fin . Когда все сделано, вы можете mksquashfs /fin в новый файл squashfs,
mksquashfs /fin newfile; umount /fin
, затем очистите/размонтируйте все другие используемые каталоги по своему усмотрению.
squashfs и некоторые unionfs обычно используются для live -cd .
Это можно сделать из оболочки, зациклив выходные строки и записав каждую строку в желаемый выходной файл, например:
sar -n DEV 1 |
grep wlp2s0 |
while read ln
do
printf '%s\n' "$ln" > output.txt
done
Решение на основеperl
-@OleTange может быть более эффективным с точки зрения создания процессов, но если ваша оболочка имеет встроенный -в printf
, этот метод может быть почти таким же простым.
sar -n DEV 1 |
perl -ne 'if(/wlp/) { open(O,">current"); print O; close O }'