bash :Чтение со стандартного ввода до разделителя строки

Убедитесь, что у вас установлен пакет датчиков lm -. Есть ряд полезных утилит командной строки, которые могут возвращать эту информацию, в том числе isadump и Sensors -Detect, которые являются частью этого пакета.

0
06.06.2021, 19:46
1 ответ

С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
1
28.07.2021, 11:26

Теги

Похожие вопросы