Как извлечь строки из таблицы и поместить в отдельный файл?

  1. Я установил недостающие модули. Когда я запускаю X-сервер, журнал не создается (, он записывает пустой файл Xorg.0.log ), когда я запускаю Xorg -configure, я получаю ошибку сегментации по адресу 0x50.

  2. Затем я временно удалил в /etc/share/X11/xorg.conf.d файл 10 -nvidia -drm -outputclass.conf, и я получил сообщение об ошибке

Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices in the xorg log (among other things).

  1. Я запустил nvidia-xconfigи установил, а затем

  2. Я побежалsystemctl enable acpdi

Потребовались все четыре шага.

2
06.12.2019, 23:59
3 ответа

Использованиеawk:

awk '{
    if ( ($2 == $5 && $3 + $4 == 0) || ($3 == $5 && $2 + $4 == 0) || ($4 == $5 && $2 + $3 == 0) ) {
        print $0 > "match-file"
    } else if ($2 + $3 + $4 == $5) { 
        print $0 > "nomatch-file"
    }
}' input
2
27.01.2020, 22:02
Using GNU awk:

$ awk 'NR>1{
    t = gensub(/ /, "  ", "g")
    f = gsub(/ 0 /, "", t) > 1 ? "File1" : "File2"
    print $0 > f
}' file

Используя все конструкции Posix sed, мы можем сделать это следующим образом:

$ sed -ne '
   1b
   s/[[:blank:]]0[[:blank:]]/&/2w File1
   t
   s/^//w File2
' file

Запустите sed в режиме -n, что означает отсутствие печати пространства шаблонов по умолчанию. Пропустите строку заголовка, которая считается первой.

Если в строке, отличной от заголовка, мы видим по крайней мере два изолированных нуля => последний столбец должен соответствовать одному столбцу из числа 2, 3 или 4 столбцов. Это потому, что последний столбец представляет собой сумму столбцов 2, 3 и 4.

Предполагается, что начальные и конечные пробелы отсутствуют.

Результаты сбрасываются в Файл1 для сопоставления записей. И File2 для остальных. Заголовок отсутствует ни в одном из выходных данных.

0
27.01.2020, 22:02

Похоже, вы просто ищете 2 (ведущих )нуля в строке, и в этом случае попробуйте

awk '{if (NR==1){print > "match"; print > "nomatch"}
    else
    {if ($0 ~ / 0.* 0/) {print > "match"} else {print > "nomatch"}}}' file1
0
27.01.2020, 22:02

Теги

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