sed добавить первое слово из предыдущей строки в начало следующей строки, если

Нет, ядра из разных реализаций операционных систем в стиле Unix -не являются взаимозаменяемыми, в частности потому, что все они представляют разные интерфейсы для остальной части системного (пользовательского пространства )— их системные вызовы (, включая ioctlособенности ), различные виртуальные файловые системы, которые они используют...

То, что до некоторой степени взаимозаменяемо, на уровне исходного кода является комбинацией ядра и библиотеки C, или, скорее, API пользовательского -уровня, которые ядро ​​и библиотеки предоставляют (, по сути, представление на уровень, описанный POSIX, без учета того, является ли он на самом деле POSIX ). Примеры этого включают Debian GNU/kFreeBSD , который строит систему Debian поверх ядра FreeBSD, и Debian GNU/Hurd , который строит систему Debian поверх Hurd.

Это не совсем на уровне взаимозаменяемости ядра, но были попытки стандартизировать общий двоичный интерфейс приложений, чтобы разрешить использование двоичных файлов в различных системах без необходимости перекомпиляции. Одним из примеров является стандарт Intel Binary Compatibility Standard , который позволяет запускать соответствующие ему двоичные файлы в любой системе Unix, реализующей его, включая более старые версии Linux с уровнем iBCS 2. Я использовал это в конце 90-х для запуска WordPerfect в Linux.

См. также Как создать chroot FreeBSD внутри Linux .

0
27.02.2020, 16:45
1 ответ
awk -f 1stword.awk < input

Где 1stword.awkсодержит следующий скрипт:

$0 ~ /^[[:alnum:]]/ { word=$1 ; print }   # save 1st word
$0 ~ /^[^[:alnum:]]/ { print word$0 }     # prepend saved word

[:alnum:]в диапазоне символов означает все буквенно-цифровые символы. Настройте другой диапазон символов в соответствии с вашим определением «специальных символов».

0
28.04.2021, 23:22

Теги

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