GNU/Linux >> Tutoriels Linux >  >> Linux

sed avec une chaîne littérale - pas un fichier d'entrée

Fonctionne comme vous le souhaitez :

echo "A,B,C" | sed s/,/\',\'/g

Ma version utilisant des variables dans un script bash :

Recherchez les barres obliques inverses et remplacez-les par des barres obliques :

input="This has a backslash \\"

output=$(echo "$input" | sed 's,\\,/,g')

echo "$output"

Vous avez un conflit entre guillemets simples, utilisez donc :

 echo "A,B,C" | sed "s/,/','/g"

Si vous utilisez bash, vous pouvez le faire aussi (<<< est un here-string ):

sed "s/,/','/g" <<< "A,B,C"

mais pas

sed "s/,/','/g"  "A,B,C"

parce que sed attend le(s) fichier(s) comme argument(s)

MODIFIER :

si vous utilisez ksh ou d'autres :

echo string | sed ...

Linux
  1. Utilisation de l'entrée-sortie et de la redirection d'erreur sous Linux

  2. Ajout avec "sed" ?

  3. Linux - Argument de paire parallèle Gnu avec des arguments d'entrée de fichier ?

  4. Avertissement avec nftw

  5. vérifier si le fichier existe sur l'hôte distant avec ssh

Commande Echo sous Linux avec exemples

Remplacement de chaîne dans Bash

Commande Linux WC avec exemples

Manipuler du texte avec sed et grep

Comment faire écho dans le fichier

Tutoriel Unix Sed :Opération de fichiers multilignes avec 6 exemples pratiques