Come dice la maggior parte delle risposte, probabilmente letterale tab
char è il migliore.
info sed
dicendo "\t non è portatile. " :
...
'\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.
...
Puoi semplicemente usare il sed
i
comando correttamente:
some_command | sed '1i\
text text2'
dove, come spero sia ovvio, c'è un tab tra 'text' e 'text2'. Su MacOS X (10.7.2), e quindi probabilmente su altre piattaforme basate su BSD, ho potuto usare:
some_command | sed '1i\
text\ttext2'
e sed
tradotto il \t
in una scheda.
Se sed
non interpreterà \t
e l'inserimento di schede nella riga di comando è un problema, crea uno script di shell con un editor ed esegui quello script.
Supponendo che bash (e forse anche altre shell funzioneranno):
some_command | sed $'1itext\ttext'
Bash elaborerà gli escape, come \t
, all'interno di $' '
prima di passarlo come argomento a sed.