Система DISTRIB_DESCRIPTION="Linux Lite 5.4"
При записи в файл некоторой последовательности символов (скажем, xxxxxx), а затем сразу 2-х управляющих символов Ctrl+V и Ctrl+U и последующего дампа этого файла получаем:
cat od_file | od -c
0000000 x x x x x x 025 \n
0000010
Суть вопроса в следующем. Почему я не получаю восьмеричный код символа, генерируемого при наборе Ctrl+V, а получаю только код символа, сгенерированного комбинацией Ctrl+U ?
И второе - что означают последовательности 0000000 и 0000010 вначале 1-й и 2-й строки вывода(почему именно это выводится)?
Буду благодарен, если кто в курсе. Спасибо.
Вывод дампа файла, содержащего управляющие символы. (Не все символы видны в выводе дампа.)
Модератор: Модераторы разделов
Вывод дампа файла, содержащего управляющие символы.
Software is like sex: It's better when it's free.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Вывод дампа файла, содержащего управляющие символы.
Потому что его в файле нет, очевидно.
Смещение.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Вывод дампа файла, содержащего управляющие символы.
Ну, он есть, не согласен( а если вы настаиваете, что нет, то куда же он делся? Я же его ввожу) . Вы можете проверить тоже самое, введя в консоли ту-же последовательность символов, те
echo 'xxxxx^U' | od -c
0000000 x x x x x 025 \n
0000007
и получите тот же результат (что - и в консоли его нет? ). А есть он потому, ЧТО ЕСЛИ БЫ ЕГО НЕ БЫЛО, мы бы не получили ожидаемое, те литерализацию управляющей последовательности, вводимой Ctrl+U.
Здесь после ххххх идет сразу Ctrl+V и CTRL+U , те символ там есть, просто он не видим.
А что по смещению? Какое смещение? В чем измеряемое? Относительно чего смещение...не ответ, а загадки одни :-)
Но спасибо за попытку.
echo 'xxxxx^U' | od -c
0000000 x x x x x 025 \n
0000007
и получите тот же результат (что - и в консоли его нет? ). А есть он потому, ЧТО ЕСЛИ БЫ ЕГО НЕ БЫЛО, мы бы не получили ожидаемое, те литерализацию управляющей последовательности, вводимой Ctrl+U.
Здесь после ххххх идет сразу Ctrl+V и CTRL+U , те символ там есть, просто он не видим.
А что по смещению? Какое смещение? В чем измеряемое? Относительно чего смещение...не ответ, а загадки одни :-)
Но спасибо за попытку.
Software is like sex: It's better when it's free.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Вывод дампа файла, содержащего управляющие символы.
Shell
% od -c
xxxxx^V^U0000000 x x x x x 026 025
0000007
Правильно. А чтобы получить литерализацию ^V, надо тоже предварительно ввести ^V. Вводите ^V^V^V^U, на вход od придёт ^V^U, как я показал выше.
В байтах.
Относительно начала ввода.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Вывод дампа файла, содержащего управляющие символы.
Почему вы литерализируете Ctrl+V трижды его вводя? Я вот знаю 2 способа - обратный слэш и одинарные кавычки. Так что не так в моем примере?
echo 'xxxxx^U' | od -c
0000000 x x x x x 025 \n
0000007
введите его в консоли (вводя один раз Ctrl+V) и получите мой результат. И если все же литерализируется Ctrl+U, то ввод Ctrl+V работает, те он вводится, а не исчезает. Тогда почему его "нет" на выходе?
Так по смещению еще тоже не все ясно. Чему эти 7 байт соответствуют? И почему поле смещения семизначное?
echo 'xxxxx^U' | od -c
0000000 x x x x x 025 \n
0000007
введите его в консоли (вводя один раз Ctrl+V) и получите мой результат. И если все же литерализируется Ctrl+U, то ввод Ctrl+V работает, те он вводится, а не исчезает. Тогда почему его "нет" на выходе?
Так по смещению еще тоже не все ясно. Чему эти 7 байт соответствуют? И почему поле смещения семизначное?
Software is like sex: It's better when it's free.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Вывод дампа файла, содержащего управляющие символы.
И зачем мне это делать? Я и так знаю, что получу.
Числу байт в вводе. То есть смещению, которое было бы у следующего байта (которого нет).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Вывод дампа файла, содержащего управляющие символы.
В общем "да" на все. Спасибо.
Если кому интересно стало, тут подробнее http://heap.altlinux.org/alt-docs/textbooks/linux_intro/Shell.html
PS Не знаю, как пометить тему "решенной"...точнее забыл..с 2004 года
Если кому интересно стало, тут подробнее http://heap.altlinux.org/alt-docs/textbooks/linux_intro/Shell.html
PS Не знаю, как пометить тему "решенной"...точнее забыл..с 2004 года
Software is like sex: It's better when it's free.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Вывод дампа файла, содержащего управляющие символы.
Не трижды, а дважды. Первое нажатие говорит, что введённое следующим нажатием должно быть подставлено буквально, а не интерпретироваться как управляющая последовательность. Третье нажатие ^V делает то же самое для ^U. Вы нажимаете только ^V^U, соответственно, вводится только ^U.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Вывод дампа файла, содержащего управляющие символы.
Да еще раз спасибо. Раз тут у вас "по взрослому все", буду по чаще заходить
Software is like sex: It's better when it's free.