Смените положение символа с sed

Они обнаруживаются как устройства SCSI, потому что драйверы говорят SCSI со следующим слоем ядра (универсальный дисковый драйвер). Это на самом деле не верно для всех драйверов SATA на всех версиях ядра со всеми конфигурациями времени компиляции ядра, но это распространено. Даже устройства PATA могут появиться как SCSI на том уровне (снова, который зависит от версии ядра и конфигурации времени компиляции ядра, а также ли ide-scsi модуль используется).

Действительно не имеет значения, говорит ли драйвер SCSI с физическим устройством. Часто, это делает. ATAPI, используемый для того, чтобы говорить с оптическими дисками PATA/SATA и другими устройствами, является основанными на SCSI инкапсуляциями протокола. Однако диски PATA/SATA не используют ATAPI. libata набор драйверов также включает переводчика между набором команд ATA и SCSI так, чтобы можно было поместить диски PATA/SATA под зонтиком подсистемы SCSI. Отдельный интерфейс язя в ядре является большим количеством исторического survivance.

Вы заметите, что диски USB также появляются как SCSI по той же причине (и они говорят SCSI также относительно Шины USB). То же идет для Firewire.

2
03.08.2011, 20:28
3 ответа

Вот ответ на Ваш вопрос:

s/^\(.\{15\}\)\(.\{2\}\)\(.\{2\}\)\(.\{4}\)/\1\4\3\2/

Но если можно привязать в конец вместо этого, это становится более простым:

s/\(.\{2\}\)\(.\{2\}\)\(.\{4\}\)$/\3\2\1/

Лично, я, вероятно, сделал бы [0-9] вместо . также:

s/\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{4\}\)$/\3\2\1/

Как обычно, существует больше чем один способ сделать это.

4
27.01.2020, 21:57
$ sed -e 's/\(.\{15\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{4\}\)/\1\4\3\2/g' /tmp/test.txt

кажется, делает то, что Вы ожидаете.

1
27.01.2020, 21:57
[1172162].
0
27.01.2020, 21:57

Теги

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