Как использовать grep с файлами в произвольной кодировке, без установленной локали и без sudo?

Вы могли пропустить echo, и просто вставленный в сообщение date команда. date позволяет Вам вставлять текст в строку формата (+%R в Вашем примере). Например:

date +"%R usb device already mounted"

Можно также бросить его в функцию оболочки для удобства. Например:

echo_time() {
    date +"%R $*"
}

echo_time "usb device already mounted"

Это - инструмент для очистки, если Вы собираетесь снова использовать его много раз.

4
13.04.2017, 15:36
1 ответ

Пока вы ищете определенные символы (т. Е. Не используете наборы символов или поиск без учета регистра), вы можете заставить grep искать байты: convert любой не-ASCII символ в регулярном выражении к байтовому значению, которое представляет его в KOI8-R, и вызвать grep в локали C ( LC_ALL = C grep… или просто LC_CTYPE = C LC_COLLATE = C grep… ), чтобы искать байты.

Вы можете использовать iconv -f utf-8 -t koi8-r для преобразования строки, которую вы вводите в UTF-8, в KOI8-R, даже если локали KOI8-R не указаны в локаль -a .

Метод fuseflt также полагается на iconv и не требует создания локали.

1
27.01.2020, 21:01

Теги

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