2011-06-15 12 views

Respuesta

17

tr simplemente puede traducir/eliminar caracteres.

intentar algo como esto:

echo "a~b" | sed 's/~/==/g' 
+0

echo" a ~ b "| sed '/ ~/& =/g' en este caso no funciona. ¿Cómo puedo manejar & chr? – thetux4

+1

echo "a ~ b" | sed 's/~/\ & =/g' - escapar de él –

13

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/~/==/' 
+0

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

2

Usted no puede; tr solo puede asignar caracteres individuales. Usa sed

Cuestiones relacionadas