GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la bonne façon d'insérer un onglet dans sed?

Comme la plupart des réponses le disent, probablement littéral tab le personnage est le meilleur.

info sed disant "\t n'est pas portable. " :

...
'\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.
...

Vous pouvez simplement utiliser le sed i commande correctement :

some_command | sed '1i\
text    text2'

où, comme j'espère que c'est évident, il y a un onglet entre 'text' et 'text2'. Sur MacOS X (10.7.2), et donc probablement sur d'autres plates-formes basées sur BSD, j'ai pu utiliser :

some_command | sed '1i\
text\ttext2'

et sed traduit le \t dans un onglet.

Si sed n'interprétera pas \t et l'insertion d'onglets sur la ligne de commande est un problème, créez un script shell avec un éditeur et exécutez ce script.


En supposant que bash (et peut-être que d'autres shells fonctionneront aussi) :

some_command | sed $'1itext\ttext'

Bash traitera les échappements, tels que \t , à l'intérieur de $' ' avant de le passer comme argument à sed.


Linux
  1. Comment insérer du texte avant la première ligne d'un fichier ?

  2. Quelle est la signification de POSIX ?

  3. Quelle est la bonne façon de démarrer un service mongod sous Linux / OS X ?

  4. Comment insérer un texte au début d'un fichier ?

  5. Comment insérer du texte à la 1ère ligne d'un fichier à l'aide de sed ?

Qu'est-ce que le Shell sous Linux ?

Quel est le moyen le plus simple de libérer de l'espace sur un disque dur ?

Quel est le moyen le plus rapide de supprimer tous les fichiers et sous-dossiers d'un répertoire ?

Quel est le moyen le plus rapide d'exécuter un script ?

Qu'est-ce que le système de fichiers NSFS ?

Quelle est la manière la plus légère de rendre des graphiques Gentoo ?