GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è il modo corretto di inserire la scheda in sed?

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.


Linux
  1. Come inserire del testo prima della prima riga di un file?

  2. Qual è il modo più semplice per SSH usando Python?

  3. Qual è il significato di POSIX?

  4. Qual è il modo corretto per avviare un servizio mongod su Linux/OS X?

  5. Come inserire un testo all'inizio di un file?

Che cos'è la shell in Linux?

Qual è il modo corretto di usare inotify?

Quali sono le differenze tra grep, awk e sed?

Qual è il modo corretto di installare jdk su Linux

Qual è il modo più semplice per liberare spazio su un disco rigido?

Qual è il modo più veloce per eseguire uno script?