Удаление символов с помощью sed [дубликат]

Ha creado un sistema que es significativamente más complicado de depurar de lo necesario al duplicar una serie de piezas de systemdfuncionalidad en scripts de shell innecesarios. systemdha incorporado -en instalaciones para iniciar, detener y reiniciar servicios, proporcionar su estado y manejar su salida.

Al eliminar esta capa de complejidad, habrá eliminado un área superficial significativa donde pueden existir errores y estará mucho más cerca de resolver su problema.

Recomiendo usar una de las plantillas existentes ya publicadas en línea para administrar git-daemoncon systemd si su sistema aún no incluye una.

Referencias

2
25.09.2018, 22:29
2 ответа

Если текущая локаль уже использует UTF -8 в качестве набора символов (и файл записывается с использованием этого набора символов):

<file LC_ALL=C sed 's/[^ -~]//g'

Или, чтобы включить управляющие символы в AIX sed:

<file LC_ALL=C sed "$(printf "s/[^[:print:]\t\r]//g")"
1
27.01.2020, 22:08

Вы можете использовать команду trследующим образом:

tr -cd '[:print:]\t\r\n'

Пояснение:

`[:print:]'
Any character from the `[:space:]' class, and any character that is not in the `[:graph:]' class
\r -- return
\t -- horizontal tab

Примеры based on Centos 7:трis GNU and UTF-8 encoding

$ echo "fiancÃÂÃÂÃÂÃÂÃÂ" | tr -cd '[:print:]\t\r\n'
fianc

$ echo "get ^▒▒^▒▒^▒▒^▒▒^▒▒^▒▒ " | tr -cd '[:print:]\t\r\n'
get ^^^^^^

echo " Caucasian male lives in Arizona w/ fianc▒^▒▒^▒▒^▒▒^▒▒^▒▒^▒^▒▒^▒▒^▒▒^▒▒^▒▒^▒"  | tr -cd '[:print:]\t\r\n'
 Caucasian male lives in Arizona w/ fianc^^^^^^^^^^^^
1
27.01.2020, 22:08

Теги

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