Убедитесь, что у вас установлен пакет датчиков lm -. Есть ряд полезных утилит командной строки, которые могут возвращать эту информацию, в том числе isadump и Sensors -Detect, которые являются частью этого пакета.
Сzsh
(единственной оболочкой, которая может хранить произвольные последовательности байтов в своих переменных ), предполагая, что data
и delimiter
являются обычными (или, по крайней мере, mmap ()способными )файлами, вы могу сделать:
zmodload zsh/mapfile
set +o multibyte # necessary so sequences of bytes that
# happen to form valid characters may be
# broken in the middle if necessary.
firstpart=${mapfile[data]%%$mapfile[delimiter]*}
Или:
zmodload zsh/mapfile
set +o multibyte # necessary so sequences of bytes that
# happen to form valid characters may be
# broken in the middle if necessary.
delimiter=$mapfile[delimiter]
parts=( ${(ps[$delimiter])mapfile[data]} )
firstpart=$parts[1]
(не ожидайте, что он будет очень эффективным или хорошо масштабируемым для файлов размером более нескольких сотен мегабайт ).
Чтобы напечатать эту часть дословно, используйте:
print -rn -- $firstpart
Или
printf %s $firstpart