Я думаю, что этот ответ поможет вам узнать больше о TTYs
, активированном в вашей Системе, вы должны выполнить эту команду:
systemctl list-units | grep getty
результат даст вам активный TTYs
в вашей системе, после этого выполните Alt + Ctrl + F2 затем Alt + Ctrl + F7 или Alt + F7 и повторите команду systemctl list-units | grep getty
, которую вы должен увидеть TTY2
, активированный, как с выводом, подобным этому:
getty@tty1.service loaded active running Getty on tty1
getty@tty2.service loaded active running Getty on tty2
, если у вас нет чего-то подобного, подтверждающего, что ваш getty.service
не активирован, и вы должны загрузить его и включить.
попробуйте с:
<file gawk '/_005/,/_007/ {
top[i++]=$0
next
}
{
botom[j++]=$0
}
END {
for(k in top)
print top[k]
for(k in botom)
print botom[k]
}'
С помощью GNU sed
вместе с включенным механизмом расширенных регулярных выражений мы можем решить эту проблему. Пространство удержания содержит все строки, которые необходимо переместить на север, а пространство шаблона содержит несовпадающие строки.
$ sed -Ee '
/_005|_007/{
/\n/!{
H;$!d;g;s/.//;b
}
G
s/(.*\n.*)(\n.*)(\n\n.*)/\1\3\2/
h;s/.*\n(\n)/\1/
x;s/\n\n.*//
$bend
s/^/\n/;D
}
$bend
N;s/^/\n/;D
:end
x;G;s/.//
' input.txt
Perl поддерживает два массива для хранения совпадающих и несовпадающих строк:
$ perl -ne 'push @{/_005|_007/ ? \@A : \@B}, $_}{print @A, @B' input.txt
сначала cat
строки с совпадающим шаблоном, затем строки с возвратом совпадающего шаблона:
cat <(grep -x 'XXX_00[57]' infile) <(grep -xv 'XXX_00[57]' infile)
примечание :, поскольку вы упомянули линии перемещения с указанным выше шаблоном,тогда вам может понадобиться удалить опцию -x
из команды, которая используется для соответствия этому шаблону, как и во всей строке.