Команда dd занимала много места на диске, когда просто копировала открытый файл из файлового дескриптора

Строки C -в общем случае не могут содержать нулевые байты, а awkв основном является своего рода интерпретатором C. Утилита POSIX, которая может печатать нулевые байты, должна быть явно упомянута в стандарте POSIX. printfв awkне является таким случаем.

Следующие случаи явно перечислены в POSIX:

echo 'x\0000y'
printf 'x\000y\n'
printf '%b\n' 'x\0000y'

все три команды печатают четыре символа в сертифицированной ОС с торговой маркой POSIX UNIX.

В ваших awkпримерах используется неопределенное поведение.

0
07.08.2021, 21:16
0 ответов

Теги

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