Клавиатура не определяется при загрузке, но работает после приостановки

Выполнить:

$ [ -n "$(tail -c1 infile)" ] && echo >> infile
$ sed 's/\r$\|^\r//g;s/\r/\n/g' infile | while IFS= read -r line
> do echo "$line" ; done
DOS       line
second     DOS
old  mac   line
new  mac   line
end\n\rreverse
linux      line
new linux  line

Все проблемы решены.


Описание:

Чтобы исправить отсутствие последней новой строки, используйте:

[ -n "$(tail -c1 infile)" ] && echo >> infile

Что добавит завершающую новую строку только в случае необходимости (не изменит правильный файл ).

Затем вы можете преобразовать

  • \r\n(Стиль DOS )-\n(просто удалите \r в конце строки)
  • \n\r(недопустимый стиль DOS? )на один\n(удалить \r в начале строки)
  • , а затем (с исправленными парами )преобразовать\r(старый MAC-адрес )в\n

всего за один вызов (GNU )sed с:

sed 's/\r$\|^\r//g;s/\r/\n/g' infile

Если текстовый файл похож на этот тестовый файл:

$ cat infile
DOS       line
second     DOS
new  mac   line
end\n\rreverse
linux      line
new linux  line
no  end   line

$ cat -A infile
DOS       line^M$
second     DOS^M$
old  mac   line^Mnew  mac   line$
end\n\rreverse$
^Mlinux      line$
new linux  line$
no  end   line

$  od -An -tc infile
   D   O   S                               l   i   n   e  \r  \n
   s   e   c   o   n   d                       D   O   S  \r  \n
   o   l   d           m   a   c               l   i   n   e  \r
   n   e   w           m   a   c               l   i   n   e  \n
   e   n   d   \   n   \   r   r   e   v   e   r   s   e  \n  \r
   l   i   n   u   x                           l   i   n   e  \n
   n   e   w       l   i   n   u   x           l   i   n   e  \n
   n   o           e   n   d               l   i   n   e
1
09.08.2020, 11:28
1 ответ

В BIOS есть параметр, который ускоряет загрузку компьютера за счет потери устаревших устройств, таких как клавиатуры. Отключите эту быструю загрузку, и она снова заработает.

0
18.03.2021, 23:13

Теги

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