solo regulares regular probar letras expresiones expresion especiales espacios espacio ejemplos cualquier caracteres caracter blanco alfanumerico regex macos sed

regex - regulares - ¿Cómo puedo insertar un carácter de tabulación con sed en OS X?



expresiones regulares ejemplos (5)

Yo he tratado:

echo -e "egg/t /t/t salad" | sed -E ''s/[[:blank:]]+//t/g''

Lo que resulta en:

eggtsalad

Y...

echo -e "egg/t /t/t salad" | sed -E ''s/[[:blank:]]+///t/g''

Lo que resulta en:

egg/tsalad

Lo que me gustaría:

egg salad


El sed de OSX solo comprende /t en el patrón, no en el reemplazo, no lo comprende en absoluto, ya que es esencialmente el antiguo 4.2BSD sed sobrante de 1982 o los naftos. Use una pestaña literal (que en bash y vim es Ctrl + V , Tab ), o instale GNU coreutils para obtener un sed más razonable.


Intenta: Ctrl + V y luego presiona Tab .


Otra opción es usar $(printf ''/t'') para insertar una pestaña, por ejemplo:

echo -e "egg/t /t/t salad" | sed -E "s/[[:blank:]]+/$(printf ''/t'')/g"


Use las cotizaciones de estilo ANSI-C: $''string''

sed $''s/foo//t/''

Entonces en tu ejemplo, simplemente agrega un $ :

echo -e "egg/t /t/t salad" | sed -E $''s/[[:blank:]]+//t/g''


prueba awk

echo -e "egg/t /t/t salad" | awk ''{gsub(/[[:blank:]]+/,"/t");print}''