Дляawk
:
awk -F '[><]' '{print $2}' file
Это устанавливает разделитель полей как >
или <
и печатает второе поле, которое находится между этими двумя символами.
Дляsed
:
sed 's|.*>\(.*\)<.*|\1|' file
Это использует ()для печати того, что находится между >
и всем, что следует за ним, и <
и всем, что идет до него.
Выход
Wallmart
tastes
Как прокомментировано здесь:
Ah, well that explains it. SSH forwards your locale along with the connection. So your Mac is asking for a locale which is not available on your Linux box.
Either change your Mac locale to something consistent or change your Mac SSH settings to not forward locale: https://stackoverflow.com/questions/29609371/how-do-not-pass-locale-through-ssh
Я исправил это с помощью нескольких шагов для некоторых Raspberry Pi, к которым я подключался.
en_GB.UTF-8
в /etc/locale.gen
и раскомментировал en_US.UTF-8
. LC_CTYPE=en_US.UTF-8
и LC_ALL=en_US.UTF-8
в /etc/default/locale
. Возможно, вам потребуется добавить больше таких строк, например LC_MESSAGES=en_US.UTF-8
. export LC_ALL=en_US.UTF-8
. sudo locale-gen
. Если вы запустите locale
после этих шагов, вы не увидите никаких предупреждений, и вы должны увидеть en_US.UTF-8
для всех полей, кроме, может быть, LANG
и LANGUAGE
. Вы можете изменить их вручную с помощью export LANG=en_US.UTF-8
и export LANGUAGE=en_US.UTF-8
.