Como dicen la mayoría de las respuestas, probablemente tab
literal char es el mejor.
info sed
diciendo "\t no es portátil. " :
...
'\CHAR'
Matches CHAR, where CHAR is one of '$', '*', '.', '[', '\', or '^'.
Note that the only C-like backslash sequences that you can
portably assume to be interpreted are '\n' and '\\'; in particular
'\t' is not portable, and matches a 't' under most implementations
of 'sed', rather than a tab character.
...
Simplemente puede usar el sed
i
comando correctamente:
some_command | sed '1i\
text text2'
donde, como espero que sea obvio, hay una pestaña entre 'texto' y 'texto2'. En MacOS X (10.7.2) y, por lo tanto, probablemente en otras plataformas basadas en BSD, pude usar:
some_command | sed '1i\
text\ttext2'
y sed
tradujo el \t
en una pestaña.
Si sed
no interpretará \t
e insertar pestañas en la línea de comando es un problema, cree un script de shell con un editor y ejecute ese script.
Suponiendo que bash (y tal vez otros shells también funcionen):
some_command | sed $'1itext\ttext'
Bash procesará escapes, como \t
, dentro de $' '
antes de pasarlo como argumento a sed.