Попробуйте
ping -c 1 www.google.com | awk 'NR==2{print strftime("[%T]",systime()),substr($8,6),"ms"}'
Берет текущее время с помощью systime()
и форматирует его в представление %T (чч :мм :сс )с помощью strftime
. Затем печатает соответствующую часть поля 8, чтобы убрать ерунду time=
.
Пример
ping -c 1 www.google.com | awk 'NR==2{print strftime("[%T]",systime()),substr($8,6),"ms"}'
[21:32:05] 1.03 ms
Ваш vim
не распознал кодировку и отображает 16 -битных символов как 8 -битных символов. Маркеры ^@
представляют 8 бит -более высокого порядка, которые для обычных латинских символов будут иметь нулевое значение.
Вы можете ввести это после прочтения файла, чтобы принудительно распознать UTF -16LE
:e ++enc=utf-16le
(Кредит:StackOverflow)
Вроде бы это тоже сработает, но идеально ли это, мне далеко не ясно
vim -c 'e ++enc=utf-16le' dictionary.dsl
Наконец, из вашего комментария кажется, что спецификация была бы вполне приемлемой. Вы не можете использоватьiconv
для добавления спецификации, но можете добавить ее самостоятельно
(
printf "%s" $'\xFF\xFE'
iconv -f iso-8859-1 -t utf-16le dictionary.dsl
) > dictionary-utf16le.dsl
Подтвердить с помощью
file dictionary-utf16le.dsl
dictionary-utf16le.dsl: Little-endian UTF-16 Unicode text