Клиенты с контрактами на поддержку Oracle могут получить версию squid, скомпилированную с отключенным флагом -march=native
в Solaris 11.3 SRU 17 (11.3.17.5.0 )из репозитория /support
. Сюда входят исправления для:
Команда sed
удаляет любой непечатаемый символ и табуляцию из содержимого каждой строки ввода. Количество строк не изменится (символы новой строки не удаляются, поскольку они не являются частью содержимого строки ), но может измениться количество символов или байтов. Проверьте еще раз с wc -c
для количества байтов, wc -m
для количества символов.
Регулярное выражение [^...]
соответствует любому одиночному символу (, фактически сопоставляющему элемент ), а не в [...]
. В данном случае это класс символов [:print:]
и символ табуляции. $
в начале строки заставляет bash
заменить \t
буквальным символом табуляции перед вызовом sed
.
Класс символов [:print:]
соответствует символам, которые могут быть напечатаны в текущей локали, то есть буквенно-цифровым символам, знакам препинания и пробелу (, но не табуляции, которая является управляющим символом ).
Другими словами, он удаляет все, что не является буквенно-цифровым символом, знаком пунктуации, пробелом или табуляцией.
Чтобы записать результат обратно в файл ("в -отредактировать место" ), некоторые sed
реализации имеют для этого опцию -i
; используйте sed -i
или sed -i ''
в зависимости от реализации. Убедитесь, что сначала создается правильный вывод, иначе вы можете уничтожить свои данные.