awk '
BEGIN {OFS=FS="\t"}
{a[NR]=$2; b[NR]=$3; c[NR]=$4}
NR%2 == 0 {
sub(/-orig$/, "", $1)
print $1, a[NR]-a[NR-1], b[NR]-b[NR-1], c[NR]-c[NR-1]
}
' file.txt
Смотря снова, Вы даже не нуждаетесь в массиве, просто помните значения от предыдущей строки:
awk '
BEGIN {OFS=FS="\t"}
NR%2 == 0 {
sub(/-orig$/, "", $1)
print $1, a-$2, b-$3, c-$4
}
{a = $2; b = $3; c = $4}
' file.txt
Диск является частью активного бассейна ZFS? В этом случае - отсоединить диск из бассейна или уничтожить пул сначала, затем создайте таблицу GPT ..
-121--105711- Похоже, что вы пытаетесь использовать TTYS0
как средство для подключения двух процессов. Это не будет работать надежно с ttys0
- это интерфейс к последовательной линии ( COM1:
в Windows-Wepe).
С другой стороны, это может быть, что информация отсутствует вашим вопросом. Если у вас действительно есть устройство в вашем последовательном порте, пожалуйста, сделайте это понятно.
Что я считаю, вы ищете трубку. В файловой системе это выглядит очень похоже на файл, но позволяет данные, записанные в одну сторону, чтобы прочитать с другой. Это то, что стоит за кулисами повсеместно | Оператор
, как в Е.Г. ID | NL
.
Вы можете создать трубу с помощью команды MKFIFO
, или mknod p
, если вы настаиваете.
Терминал # 1
mkfifo /tmp/pipe # Create the pipe
ls -l /tmp/pipe # Notice the first character is 'p'
echo hello > /tmp/pipe # Write to it
rm -f /tmp/pipe # Remove the pipe
Терминал № 2
cat /tmp/pipe # Read from the other side of the pipe
Вы можете продлить код # 2, как это. Помните, что, хотя для каждого нового чтения (на самом деле открыть / чтение / закрытие) на трубе вам нужно дать ей свежие данные.
read VAR </tmp/pipe # Read one line from the pipe
VAR=(cat /tmp/pipe) # Read from the pipe until EOF