Извлеките 2 поля из 2 различных строк

Процесс езды от Ext2 - Ext4 аналогичен вашей связанной статье для 3-> 4. Вам необходимо включить функции, использующие TUNE2FS . Разница между движением от 3-> 4 и 2-> 4 заключается в том, что вам также необходимо включить функцию журнала. Полная команда это:

tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sdxx

Вы должны FSCK файловая система после внесения изменений. Как и в случае любой файловой системы или изменения диска, вы должны убедиться, что у вас есть надежная резервная копия перед внесением изменения.

-121--74173-

Это регрессия в ядре 4,0, вызывая преобразование фильтров в балансе, чтобы не иметь эффекта; Похоже, все преобразования влияют (не только одно-> RAID1 или RAID1-> RAID5). См. Недавнее Поток списка рассылки , где в настоящее время нет официального исправления. Если вы до исправления вашего ядра, есть простой патч, чтобы применить в качестве временного исправления.

Это известная ошибка в V4.0. Я отправил в патч [1], чтобы вернуть фиксацию Это вызвало регрессию, но она не получила никакого ответа. Ты может применить это или просто вернуть 2F0810880F08 («BTRFS: удалить кусок Attemp распределения при настройке блокировки группы RO "), чтобы исправить свою проблему для Теперь.

[1]: https://patchwork.kernel.org/patch/6238111/

-1
09.12.2014, 09:00
2 ответа

Это было бы менее похоже на домашнее задание, если бы ты показал то, что уже пробовал. Тем не менее, начнем с того, что вам нужно захватить поля, сопоставляя их с именами полей, но не выводить их до тех пор, пока вы не попадете на следующую запись. Было бы удобно, если бы между всеми записями было "#", как вы показываете...

$ awk -F: -f t.awk t
 ABC123,  Vivek
 GGG67,  Kumar

В более длинных awk-скриптах полезно хранить их в отдельном файле

$ cat t.awk
/Employee Id/ {empid=$2}
/Employee Name/ {name=$2}
/#/ {print empid, name} # What happens if the next record is missing name?
END {print empid, name}

или в виде одного лайнера:

$ awk -F: '/Employee Id/ {empid=$2}; /Employee Name/ {name=$2}; /#/ {print empid, name}; END {print empid, name}' t
1
28.01.2020, 05:11
$ awk '{printf /Employee Id|Employee Name|Buz Code/? $NF" " : " "}' file

Печатает последнее поле $NF, если найден какой-либо шаблон, совпадающий с Employee Id или| .... else? распечатать одно место " ".

Результат в порядке столбцов:

ABC123, Vivek 2098      GGG67, Kumar 2176

Или

awk '/Employee Id|Employee Name|Buz Code/ {if(++i%4==0) printf RS;printf $NF FS }' file

Обратите внимание, что RS означает newline\n и FS означает single space(по умолчанию).

Результат в порядке следования строк:

ABC123, Vivek 2098
GGG67, Kumar 2176
0
28.01.2020, 05:11

Теги

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