`echo "a~b" | tr '~' "=="`
Esto produce a = b. Pero yo quería un == b. ¿Cómo puedo hacer esto con el uso de tr?Sustitución de un carácter con muchos caracteres con tr
`echo "a~b" | tr '~' "=="`
Esto produce a = b. Pero yo quería un == b. ¿Cómo puedo hacer esto con el uso de tr?Sustitución de un carácter con muchos caracteres con tr
tr
simplemente puede traducir/eliminar caracteres.
intentar algo como esto:
echo "a~b" | sed 's/~/==/g'
echo" a ~ b "| sed '/ ~/& =/g' en este caso no funciona. ¿Cómo puedo manejar & chr? – thetux4
echo "a ~ b" | sed 's/~/\ & =/g' - escapar de él –
No puede con tr
.
En su lugar, utilice la manipulación de cadena bash ${string/substring/replacement}
. Ejemplo:
str="a~b"
echo ${str/"~"/"=="}
O utilice sed
:
echo "a~b" | sed 's/~/==/'
tr convierte todas las ocurrencias. Para obtener ese comportamiento con reemplazo de subcadena bash, use dos barras inclinadas: 'str =" a ~ b ~ c "; echo $ {str // "~"/==} ' – user695022
Usted no puede; tr solo puede asignar caracteres individuales. Usa sed
No creo que pueda –