распечатайте файл в шестнадцатеричном числе, использующем awk

Я согласился бы со строгим использованием iptables. Это - очень простой основанный на командной строке брандмауэр, который использует ядро (в большинстве дистрибутивов).

Другое предложение, которое я сделал бы, является selinux. Я не уверен, идет ли debian теперь с ним по умолчанию. Selinux короче говоря является значением мандатного управления доступом на уровне ядра, он управляет коммуникацией между приложением и внешними ресурсами (т.е. файлы и системные свойства). Как заметка на полях, это было также разработано со справкой из NSA. С профилями selinux можно препятствовать тому, чтобы приложения читали файлы вне его объема.

Объединенный с лучшими практиками, такими как отключение ненужных демонов, хороший брандмауэр постановляет, что selinux мог бы быть опцией, которую Вы ищете для укрепления этого поля.

2
16.12.2012, 00:39
2 ответа

awk тихо преобразует строки в числа. Какое число? Число, которое Вы получаете путем взятия начальных десятичных цифр строки (это может быть справедливо "", если строка пуста или не начинается ни с каких десятичных цифр, как имеет место с "A") и преобразование их к числу. "" преобразовывается в 0. Таким образом, все они были бы преобразованы в 0:

  • "0"
  • "0text"
  • "текст"
  • ""

awk только преобразовывает строки в числа таким образом, когда число необходимо. В "0text" + 1, число необходимо, таким образом, результат будет 1. В просто "0text", число не необходимо, таким образом, никакое преобразование не происходит. В printf("%d", "0text"), число снова необходимо, таким образом, строка будет преобразована в число.

То, что Вы ищете, ord функция, которая не является собственной функцией в awk. Документация простофили описывает, как записать такую функцию в awk.

2
27.01.2020, 21:57
  • 1
    Спасибо.. полезный, чтобы сделать мою работу и мое понятие теперь ясно. –  Grijesh Chauhan 15.12.2012, 12:24

Если Вы не должны использовать awk, Вы могли бы посмотреть на od ("восьмеричный дамп"):

$ echo 1A34532112345 | od -t x1
0000000 31 41 33 34 35 33 32 31 31 32 33 34 35 0a
0000016
3
27.01.2020, 21:57

Теги

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