Articles

50`sed` command Examples

Posted by admin

‘ sed ‘ est une fonctionnalité de traitement de texte utile de GNU/Linux. La forme complète de `sed` est Stream Editor. De nombreux types de tâches de traitement de texte simples et compliquées peuvent être effectués très facilement en utilisant la commande `sed`. Toute chaîne particulière dans un texte ou un fichier peut être recherchée, remplacée et supprimée en utilisant l’expression régulière avec la commande `sed. Mais cette commande effectue tous les types de modification Temporairement et le contenu du fichier d’origine n’est pas modifié par défaut. L’utilisateur peut stocker le contenu modifié dans un autre fichier si besoin., Les utilisations de base de la commande ‘ sed ‘ sont expliquées dans ce tutoriel en utilisant 50 exemples uniques.

Avant de commencer ce tutoriel, vous devez vérifier la version installée de sed dans votre système d’exploitation, exécutez la commande suivante. Le tutoriel est conçu sur la base de GNU sed. Donc, cette version de ‘ sed ‘ sera nécessaire pour pratiquer les exemples présentés dans ce tutoriel.

$ sed –version

Le résultat suivant montre que GNU Sed de la version 4.4 est installé dans le système.,

Syntaxe:

sed …

Si aucun nom de fichier n’est fourni avec `sed` de la commande, le script va travailler sur les données d’entrée standard. Le sed script peut être exécuté sans aucune option.,cter

  • tronquer toutes les lignes en 80 premiers caractères
  • Rechercher une expression régulière de chaîne et ajouter du texte standard après
  • Rechercher une expression régulière de chaîne et une deuxième copie de la chaîne trouvée après
  • exécuter des scripts `sed` multi-lignes à partir d’un fichier
  • faire correspondre un motif multi-lignes et plusieurs commandes sed de la ligne de commande
  • combiner sed avec d’autres commandes
  • insérer une ligne vide dans un fichier
  • supprimer tous les caractères alphanumériques de chaque ligne d’un fichier.,
  • utilisez ‘&’ pour faire correspondre la chaîne
  • changer la paire de mots
  • mettre en majuscule le premier caractère de chaque mot
  • imprimer les numéros de ligne du fichier
  • substitution de texte de base en utilisant ‘sed’

    toute partie particulière d’un texte peut être recherchée et remplacée en utilisant le motif de recherche et de remplacement en utilisant la commande `sed`. Dans l’exemple suivant, ‘s’ indique la tâche rechercher et remplacer. Le mot ‘Bash’ sera recherché dans le texte, « Bash Scripting Language” et si le mot existe dans le texte, il sera remplacé par le mot ‘Perl’.,

    $ echo « Bash » Langage de Script » | sed ‘s/Bash/Perl/’

    Résultat:

    Le mot ‘Bash’ existe dans le texte. La sortie est donc ‘langage de script Perl’.

    la commande`sed` peut également être utilisée pour remplacer n’importe quelle partie du contenu d’un fichier. Créez un fichier texte nommé weekday.txt avec le contenu suivant.

    jour de la semaine.,txt

    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday

    La commande suivante permettra de rechercher et de remplacer du texte ‘dimanche ‘, par le texte « le dimanche est en vacances ».

    $ cat de la semaine.txt
    $ sed ‘s/dimanche/dimanche est jour férié/’ jour de la semaine.txt

    Résultat:

    ‘dimanche’ existe dans la semaine.fichier txt et ce mot est remplacé par le texte, « dimanche est férié » après l’exécution de la commande  » sed  » ci-dessus.,

    Aller en haut

    Remplacer toutes les occurrences d’un texte dans une ligne d’un fichier en utilisant l’option ‘g’

    option‘g’ est utilisé dans le  » sed « commande » remplacer toutes les occurrences d’appariement de formes. Créez un fichier texte nommé python.txt avec le contenu suivant à savoir l’utilisation de l’option ‘g’. Ce fichier contient le mot. ‘Python’ plusieurs fois.

    python.txt

    Python est un langage très populaire.
    Python est facile à utiliser. Python est facile à apprendre.,
    Python est un langage multiplateforme

    la commande suivante remplacera toutes les occurrences de ‘Python’ dans la deuxième ligne du fichier, python.txt. Ici, ‘Python’ se produit deux fois dans la deuxième ligne.

    $ cat python.txt
    s sed ‘2 s/Python/perl/g’ python.txt

    Résultat:

    La sortie suivante s’affiche après l’exécution du script. Ici, toute occurrence de ‘Python’ dans la deuxième ligne est remplacée par’Perl’.,

    Aller en haut

    Remplacer la deuxième occurrence seulement d’un match sur chaque ligne

    Si un mot apparaît plusieurs fois dans un fichier, puis le cas particulier de la parole, dans chaque ligne peut être remplacé par l’utilisation de `sed` de la commande avec le nombre d’occurrence. La commande ‘ sed ‘ suivante remplacera la deuxième occurrence du motif de recherche dans chaque ligne du fichier, python.txt.

    python sed ‘s/Python/perl/G2’ python.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus., Ici, la recherche de texte, ‘Python’ apparaît deux fois dans la deuxième ligne seulement et il est remplacé par le texte, ‘Perl‘.

    Aller en haut

    Remplacer la dernière occurrence uniquement d’un match sur chaque ligne

    Créer un fichier texte nommé lang.txt avec le contenu suivant.

    lang.txt

    langage de programmation Bash. Langage De Programmation Python. Langage De Programmation Perl.
    langage de balisage hypertexte.
    langage de balisage Extensible.

    s sed ‘s/\(.* \ ) Programmation / \ 1scripting / ‘ lang.,txt

    Aller en haut

    Remplacer le premier match dans un fichier avec un nouveau texte

    La commande suivante permettra de remplacer uniquement le premier match de la recherche de motif, ‘Python‘ par le texte, ‘perl‘. Ici, ‘1 ‘ est utilisé pour correspondre à la première occurrence du motif.

    $ cat python.txt
    python sed ‘1 s/Python/perl/’ python.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. Ici. la première occurrence de « Python » dans la première ligne, est remplacé par ‘perl’.,

    Aller en haut

    Remplacer le dernier match dans un fichier avec un nouveau texte

    La commande suivante permettra de remplacer la dernière occurrence de la recherche de motif, ‘Python‘ par le texte, ‘Bash’. Ici, ‘$’ symbole est utilisé pour correspondre à la dernière occurrence du motif.

    $ cat python.txt
    python sed-e ‘s S/Python/Bash/’ python.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.,

    aller en haut

    échappement de la barre oblique inverse dans les commandes remplacer pour gérer la recherche et le remplacement des chemins de fichiers

    Il est nécessaire d’échapper la barre oblique inverse dans le chemin du fichier pour la recherche et le remplacement. La commande suivante de` sed ‘ ajoutera une barre oblique inverse ( \ ) dans le chemin du fichier.

    echo echo / home/ubuntu/code/perl/add.pl /sed ‘s;/;\\/; g’

    sortie:

    le chemin du fichier, ‘/home/ubuntu/code/perl/add.pl ‘est fourni en entrée dans la commande’ sed ‘ et la sortie suivante apparaîtra après l’exécution de la commande ci-dessus.,

    aller en haut

    remplacer tous les fichiers chemin complet avec juste le nom de fichier aucun répertoire

    le nom de fichier peut être récupéré à partir du chemin du fichier très facilement en utilisant la commande `basename`. la commande ‘ sed ‘ peut également être utilisée pour récupérer le nom du fichier à partir du chemin du fichier. La commande suivante récupérera le nom de fichier uniquement à partir du chemin de fichier fourni par la commande `echo`.

    echo echo « /accueil/ubuntu/temp/myfile.txt » | sed ‘s/.*\///’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus., Ici, le nom du fichier, ‘ myfile.txt ‘ est imprimé en sortie.

    Aller en haut

    un texte de remplacement, mais seulement si un autre texte est trouvé dans la chaîne de caractères

    Créer un fichier nommé  » dept.txt ‘ avec le contenu suivant pour remplacer tout texte basé sur un autre texte.

    départementtxt

    liste des étudiants totaux:

    CSE – Count
    Eee – Count
    Civil – Count

    deux commandes replace sont utilisées dans la commande `sed` suivante., Ici, le texte, « Compter » sera remplacé par 100 dans la ligne qui contient le texte,  » CST « et le texte, « Compter » sera remplacé par 70 dans la ligne qui contient la recherche de modèle, ‘EEE’.

    Dep cat dept.txt
    $ sed-e ‘/CST/ s/Compter/100/; /EEE/ s/Compter/70/;’ dept.txt

    Résultat:

    La sortie suivante s’affiche après l’exécution de commandes ci-dessus.,

    aller en haut

    remplacer le texte mais seulement si un autre texte n’est pas trouvé dans la chaîne

    la commande `sed` suivante remplacera la valeur ‘Count’ dans la ligne qui ne contient pas le texte, ‘CSE’. dept.fichier txt contient deux lignes qui ne contiennent pas le texte, ‘CST’. Ainsi, le texte ‘Count’ sera remplacé par 80 sur deux lignes.

    Dep cat dept.txt
    s sed-i-e ‘/CSE/! s/Compter/80/;’ dept.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.,

    aller en haut

    ajouter une chaîne avant et après le motif correspondant en utilisant ‘\1’

    la séquence des motifs correspondants de la commande `sed` est indiquée par ‘\1’, ‘\2’ et ainsi de suite. La commande ‘ sed ‘suivante recherchera le motif,’ Bash ‘et si le motif correspond, il sera accessible par’ \1 ‘ dans la partie de remplacement du texte. Ici, le texte, « Bash » est recherché dans le texte d’entrée et, un texte est ajouté à l’avant et un autre texte est ajouté après ‘\1’.,

    $ echo « langage Bash » | sed ‘s/\(Bash\)/en Savoir \1 programmation/’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus. Ici, le texte « apprendre » est ajouté avant « Bash » et le texte « programmation » est ajouté après « Bash ».

    Aller en haut

    Supprimer la correspondance des lignes

    ‘d’ option est utilisée dans sed commande pour supprimer une ligne dans le fichier. Créez un fichier nommé os.txt et ajoutez le contenu suivant pour tester la fonction de ‘d’ option.

    cat os.,txt

    Windows
    Linux
    Android
    OS

    la commande `sed` suivante supprimera ces lignes du système d’exploitation.fichier txt qui contient le texte, ‘OS’.

    os cat os.txt
    s sed ‘/OS/d’ os.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.

    aller en haut

    supprimer la ligne correspondante et 2 lignes après la ligne correspondante

    la commande suivante supprimera trois lignes du système d’exploitation du fichier.txt si le modèle, ‘Linux’ est trouvé. OS.,txt contient le texte, « Linux » dans la deuxième ligne. Donc, cette ligne et les deux lignes seront supprimées.

    os sed ‘/Linux/,+2D’ os.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.

    Aller en haut

    Supprimer tous les espaces à la fin de la ligne de texte

    Utilisation de la classe peut être utilisée pour supprimer les espaces et les tabulations, à partir du texte ou du contenu de tout fichier. La commande suivante supprimera les espaces à la fin de chaque ligne du fichier, os.txt.,

    os cat os.txt
    s sed ‘s/]* os//’ os.txt

    Résultat:

    os.txt contient des lignes vides après chaque ligne qui sont supprimées par la commande `sed` ci-dessus.

    Aller en haut

    Supprimer toutes les lignes qui ont un match à deux reprises sur la ligne

    Créer un fichier texte nommé, d’entrée.txt avec le contenu suivant et supprimez deux fois les lignes du fichier contenant le motif de recherche.

    entrée.TXT

    PHP est un langage de script côté serveur.
    PHP est un langage open-source et PHP est sensible à la casse.,
    PHP est indépendant de la plateforme.

    ‘PHP’ texte contient deux fois dans la deuxième ligne du fichier d’entrée.txt. Deux commandes ‘sed ‘sont utilisées dans cet exemple pour supprimer deux fois les lignes contenant le motif‘ php’. La première avec  » sed « commande remplacera la deuxième occurrence de » php « dans chaque ligne par » dl  » et envoyer la sortie de la deuxième sed commande comme entrée. La deuxième commande ‘sed ‘supprimera les lignes qui contiennent le texte,‘dl’.

    $ cat entrée.txt
    input sed’ s/php/DL/i2;T ‘ entrée.txt | sed ‘/dl/d’

    Résultat:

    entrée.,fichier txt a deux lignes qui contiennent le motif, ‘php’ deux fois. Ainsi, la sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus.

    Aller en haut

    Supprimer toutes les lignes qui ont uniquement white-space

    Sélectionnez un fichier qui contient des lignes vides dans le contenu pour tester cet exemple. entrée.le fichier txt créé dans l’exemple précédent contient deux lignes vides qui peuvent être supprimées à l’aide de la commande `sed` suivante. Ici, ‘^$’ est utilisé pour trouver les lignes vides dans le fichier d’entrée.txt.

    $ cat entrée.,txt
    input sed ‘/^/ / d’ entrée.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.

    Aller en haut

    Supprimer tous les caractères non-imprimables

    les caractères Non-imprimables peuvent être supprimés à partir de n’importe quel texte en remplaçant les caractères non-imprimables par aucun. la classe est utilisée dans cet exemple pour trouver les caractères non imprimables. ‘ \ t ‘ est un caractère non imprimable et il ne peut pas être analysé directement par la commande `echo`. Pour cela, le caractère ‘\t `est assigné dans une variable, tab tab qui est utilisée dans une commande` echo’., La sortie de la commande` echo `est envoyée dans la commande` sed ‘qui supprimera le caractère’ \t ‘ de la sortie.

    $ tab=$’\t’
    $ echo « Bonjour$tabWorld »
    $ echo « Bonjour$tabWorld » | sed ‘s/]//g’

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. La première commande « echo » imprimera la sortie avec l’espace de tabulation et la commande  » sed  » imprimera la sortie après avoir supprimé l’espace de tabulation.,

    Aller en haut

    Si il y a un match en ligne ajouter quelque chose à la fin de la ligne

    La commande suivante ajoute ’10’ à la fin de la ligne qui contient le texte, de « Fenêtres » dans le système d’exploitation.fichier txt.

    os cat os.txt
    os sed ‘/Windows/ s/$/ 10/’ os.txt

    Résultat:

    La sortie suivante s’affiche après l’exécution de la commande.,

    Aller en haut

    Si il y a un match dans la ligne, insérer une ligne avant le texte

    Les `sed` commande rechercher dans le texte, ‘PHP est indépendant de la plate-’ dans l’entrée.fichier txt créé auparavant. Si le fichier contient ce texte dans n’importe quelle ligne alors, PHP est un langage interprété  » sera inséré avant cette ligne.

    $ cat entrée.txt
    s sed ‘/PHP est indépendant de la plateforme/ S/^/PHP est un langage interprété.\n/’ entrée.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.

    Aller en haut

    Si il y a un match dans la ligne, insérer une ligne après la ligne

    Les `sed` commande rechercher dans le texte, « Linux » dans le fichier de l’os.txt et si le texte existe dans n’importe quelle ligne d’un nouveau texte, « Ubuntu » sera insérée après la ligne.

    os cat os.txt
    $ sed ‘s/Linux/& \nUbuntu/’ os.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.

    aller en haut

    s’il n’y a pas de correspondance, ajoutez quelque chose à la fin de la ligne

    la commande `sed` suivante recherchera ces lignes dans le système d’exploitation.txt qui ne contient pas le texte, « Linux » et ajoutez le texte, « Système d’Exploitation » à la fin de chaque ligne. Ici, ‘$‘ symbole est utilisé pour identifier la ligne où le nouveau texte sera ajouté.

    os cat os.txt
    s sed ‘/Linux/! S/ System / Système D’exploitation / ‘ os.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. Trois lignes existent dans le système d’exploitation de fichier.txt qui ne contient pas le texte, ‘Linux’ et le nouveau texte s ajouté à la fin de ces lignes.

    Aller en haut

    Si il n’y a pas un match de supprimer la ligne

    Créer un fichier nommé web.txt et ajouter le contenu suivant et supprimer les lignes qui ne contiennent pas le modèle correspondant. Web.TXT HTML 5JavaScriptCSSPHPMySQLJQuery la commande ‘sed ‘suivante va rechercher et supprimer les lignes qui ne contiennent pas le texte,’CSS’., $ cat web.txt$ sed ‘ /CSS/!d ‘ web.sortie txt: la sortie suivante apparaîtra après l’exécution des commandes ci-dessus. Il y a une ligne existe dans le fichier qui contient le texte, ‘CST’. Ainsi, la sortie ne contient qu’une seule ligne.

    Aller en haut

    Dupliquer le texte correspondant après l’ajout d’un espace après le texte

    Les `sed` commande de recherche de la parole,  » à  » dans le fichier python.txt et si le mot existe alors le même mot sera inséré après le mot de recherche en ajoutant de l’espace., Ici, le symbole’& ‘ est utilisé pour ajouter le texte en double.

    $ cat python.txt
    s sed-e ‘s/à /& à/G’ python.txt

    Résultat:

    La sortie suivante s’affiche après l’exécution de ces commandes. Ici, le mot  » à  » est recherché dans le fichier python.txt et ce mot existe dans la deuxième ligne de ce fichier. Ainsi, ‘ à ‘ avec l’espace est ajouté après le texte correspondant.,

    Aller en haut

    Remplacer une liste de chaînes de caractères avec la nouvelle chaîne de caractères

    Vous devez créer deux fichiers de la liste pour tester cet exemple. Créez un fichier texte nommé list1.txt et ajouter le contenu suivant.

    liste des chats1.txt

    1001 => Jafar Ali
    1023 => Nir Hossain
    1067 => Jean-Michel

    Créer un fichier texte nommé list2.txt et ajouter le contenu suivant.

    cat liste de chat2.txt

    1001 CST GPA-3.,63
    1002 CSE GPA-3.24
    1023 CSE GPA-3.11
    1067 CSE GPA-3.84

    la commande `sed` suivante correspondra à la première colonne des deux fichiers texte ci-dessus et remplacera le texte correspondant par la valeur de la troisième colonne de la liste de fichiers1.txt.

    List Liste CAT1.txt
    cat liste de chat2.txt
    list sed ‘ liste de chat1.txt | awk ‘{print « -e s/ »$1″/ »$3″/ »} »<<< » chat  » list2.txt` »

    Résultat:

    1001, 1023 et 1067 de list1.le fichier txt correspond aux trois données de list2.,fichier txt et ces valeurs sont remplacées par les noms correspondants de la troisième colonne de list1.txt.

    aller en haut

    remplacez la chaîne correspondante par une chaîne contenant des sauts de ligne

    la commande suivante prendra l’entrée de la commande `echo` et recherchera le mot, ‘Python’ dans le texte. Si le mot existe dans le texte, alors un nouveau texte, ‘texte ajouté’ sera inséré avec une nouvelle ligne. echo echo « Bash Perl Python Java PHP ASP » /sed’ s/Python/ Added Text\n / ‘ Sortie: la sortie suivante apparaîtra après l’exécution de la commande ci-dessus.,

    aller en haut

    supprimer les nouvelles lignes du fichier et insérer une virgule à la fin de chaque ligne

    la commande `sed` suivante remplacera chaque nouvelle ligne par une virgule dans le système d’exploitation du fichier.txt. Ici, l’option-z est utilisée pour séparer la ligne par un caractère nul.

    $ sed-z ‘S/\n/,/G’ os.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.,

    aller en haut

    supprimer les virgules et ajouter une nouvelle ligne pour diviser le texte en plusieurs lignes

    la commande `sed` suivante prendra la ligne séparée par des virgules de la commande `echo` en entrée et remplacera la virgule par une nouvelle ligne.

    $ echo « Kaniz Fatema,30,lot » | sed « s/,/\n/g »

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus. Le texte d’entrée contient trois données séparées par des virgules qui sont remplacées par une nouvelle ligne et imprimées sur trois lignes.,

    aller en haut

    rechercher la correspondance insensible à la casse et supprimer la ligne

    ‘I’ est utilisé dans la commande `sed` pour la correspondance insensible à la casse qui indique ignorer la casse. La commande `sed` suivante recherchera la ligne contenant le mot ‘linux ‘ et supprimera la ligne du système d’exploitation.fichier txt.

    os cat os.txt
    os sed ‘/linux/Id’ os.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus. OS.,txt contient le mot « Linux » qui correspond au motif, « linux » pour la recherche insensible à la casse et supprimé.

    Aller en haut

    Recherche insensible à la casse match et la remplacer par un nouveau texte

    Les `sed` commande va prendre l’entrée de la « echo » commande  » et remplacer le mot ‘bash’ par le mot ‘PHP’.

    $ echo « j’aime bash programmation » | sed ‘s/Bash/PHP/i’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus., Ici, le mot, ‘Bash’ correspond au mot, ‘bash’ pour la recherche insensible à la casse et remplacé par le mot, ‘PHP’.

    Aller en haut

    Recherche insensible à la casse match et de le remplacer avec toutes les majuscules d’un même texte

    ‘\U  » est utilisé dans la sed pour convertir n’importe quel texte en majuscules lettre. La commande `sed` suivante recherchera le mot ‘linux ‘ dans le système d’exploitation.fichier txt et si le mot existe, il remplacera le mot par toutes les lettres majuscules.

    os cat os.txt
    $ sed ‘s/\(linux\)/\U\1/Ig’ os.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. Le mot « Linux » de l’os.le fichier txt est remplacé par le mot « LINUX ».

    Aller en haut

    Recherche insensible à la casse match et de le remplacer avec de minuscules du même texte

    ‘\L  » est utilisé dans la sed pour convertir n’importe quel texte en minuscules. La commande `sed` suivante recherchera le mot ‘Linux ‘ dans le système d’exploitation.fichier txt et remplacer le mot par toutes les lettres minuscules.

    os cat os.txt
    $ sed ‘s/\(linux\)/\L\1/Ig’ os.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. Le mot « Linux » est remplacé ici par le mot « linux ».

    aller en haut

    remplacer tous les caractères majuscules du texte par des caractères minuscules

    la commande `sed` suivante recherchera tous les caractères majuscules dans le système d’exploitation.fichier txt et remplacer les caractères par des lettres minuscules en utilisant ‘\l’.

    os cat os.txt
    $ sed ‘ s / \(.* \) /\L\1/’ os.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.

    Aller en haut

    33. Recherchez le numéro dans la ligne et ajoutez n’importe quel symbole monétaire avant le numéro

    créez un fichier nommé items.txt avec le contenu suivant.

    les éléments.txt

    disque dur 100
    Moniteur 80
    la Souris 10

    Les `sed` commande de recherche, le nombre de chaque ligne d’éléments.txt fichier et ajouter le symbole monétaire, ’ $ ‘ avant chaque numéro.

    $ cat éléments.,txt
    s sed ‘s/\(\)/$\1/g’ articles.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. Ici, le symbole ’ $ ‘ est ajouté avant le numéro de chaque ligne.

    aller en haut

    ajouter des virgules aux nombres qui ont plus de 3 chiffres

    la commande `sed` suivante prendra un nombre en entrée de la commande `echo` et ajoutera une virgule après chaque groupe de trois chiffres comptant à partir de la droite. Ici, ‘:a’ indique l’étiquette et  » ta  » est utilisé pour itérer le groupement des processus.,

    echo echo « 5098673 »/sed-e :a-e ‘s / \(.*\)\(\{3\}\)/\1,\2/;ta `

    sortie:

    le nombre 5098673 est donné dans la commande` echo `et la commande` sed ‘ a généré le nombre 5,098,673 en ajoutant une virgule après chaque groupe de trois chiffres.

    Aller en haut

    Remplace les caractères de tabulation avec 4 caractères d’espace

    Les `sed` commande remplacera chaque tabulation (\t) personnage en quatre espaces., ‘$’ symbole est utilisé dans le sed de commande pour correspondre au caractère de tabulation et  » g  » est utilisé pour remplacer tous les caractères de tabulation.

    $ echo -e « 1\t2\t3 » | sed $’s/\t/ /g’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.

    Aller en haut

    Remplace 4 fois de suite les caractères d’espace avec le caractère de tabulation

    La commande suivante va remplacer 4 caractères consécutifs avec des tabulations (\t) caractère.,

    $ echo -e « 1 2 » | sed $’s/ /\t/g’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.

    Aller en haut

    Truncate toutes les lignes de 80 caractères

    Créer un fichier texte nommé dans.txt qui contient les lignes de plus de 80 caractères pour tester cet exemple.

    en.TXT

    PHP est un langage de script côté serveur.
    PHP est un langage open-source et PHP est sensible à la casse. PHP est indépendant de la plateforme.
    la commande `sed` suivante tronquera chaque ligne de in.,fichier txt en 80 caractères.

    $ cat dans.txt
    $ sed ‘ s/\(^.\{1,80\}\).*/\1/’ dans.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. La deuxième ligne de en.le fichier txt contient plus de 80 caractères et cette ligne est tronquée dans la sortie.

    Aller en haut

    Rechercher une chaîne regex et ajouter du texte standard après

    Les `sed` commande rechercher dans le texte, « bonjour » dans le champ de saisie de texte et ajoutez le texte, ‘ Jean‘ après ce texte.,

    $ echo « bonjour, comment allez-vous? »| sed ‘s/\(bonjour\)/\1 Jean/’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.

    Aller en haut

    Recherche de chaîne regex et ajouter du texte après le deuxième match dans chaque ligne

    Les `sed` commande rechercher dans le texte, ‘PHP‘ dans chaque ligne d’entrée.TXT et remplacez la deuxième correspondance dans chaque ligne par le texte, « nouveau texte ajouté ».

    $ cat entrée.txt
    input sed ‘s/\(PHP\)/\1 (nouveau texte ajouté)/2’ entrée.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. Le texte de recherche, ‘PHP ‘ apparaît deux fois dans les deuxième et troisième lignes d’entrée.fichier txt. Ainsi, le texte « nouveau texte ajouté » est inséré dans les deuxième et troisième lignes.

    Aller en haut

    en cours d’Exécution multi-ligne avec  » sed  » scripts à partir d’un fichier

    Plusieurs sed scripts peuvent être stockées dans un fichier et tous les scripts peuvent être exécutés ensemble en exécutant `sed` de la commande. Créez un fichier nommé ‘sedcmd’ et ajoutez le contenu suivant., Ici, deux scripts ‘ sed ‘ sont ajoutés dans le fichier. Un script permet de remplacer le texte, ‘PHP‘ par ‘ASP‘ un autre script va remplacer le texte, « indépendant » par le texte, « personne à charge ».

    sedcmd

    s/PHP/ASP/
    s/indépendant/dépendant/

    Les `sed` commande va remplacer tous les  » PHP  » et « indépendant » du texte par  » ASP  » et « dépendant ». Ici, l’option ‘- f `est utilisée dans la commande` sed `pour exécuter le script` sed ‘ à partir du fichier.

    cat cat sedcmd
    input sed-F sedcmd input.,txt

    sortie:

    la sortie suivante apparaîtra après l’exécution des commandes ci-dessus.

    aller en haut

    faites correspondre un motif multiligne et remplacez-le par un nouveau texte multiligne

    la commande `sed` suivante recherchera le texte multiligne, ‘Linux\Nandroid’ et si le motif correspond, les lignes correspondantes seront remplacées par le texte multiligne, ‘Ubuntu\Nandroid Lollipop‘. Ici, P et D sont utilisés pour le traitement multiligne.

    os cat os.txt
    s sed’!!N;s/Linux\nAndoid/Ubuntu\nAndoid Sucette/;P;D’ os.,txt

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.

    Aller en haut

    Remplacer l’ordre de deux mots dans un texte qui correspondent à un modèle

    Les `sed` commande va prendre l’entrée de deux mots de « echo » commande  » et de remplacer l’ordre de ces mots.

    $ echo « perl python » | sed -e ‘s/\(*\) *\(*\)/\2 \1/’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.,

    Aller en haut

    Exécuter plusieurs sed commandes à partir de la ligne de commande

    « -e  » option est utilisée dans `sed` de la commande à exécuter plusieurs sed scripts en ligne de commande. La commande `sed` suivante prendra un texte en entrée de la commande `echo ‘et remplace‘ Ubuntu ‘par‘ Kubuntu ‘et‘ Centos ‘par‘Fedora’.

    $ echo « Ubuntu, Centos Debian » | sed -e ‘s/Ubuntu/Kubuntu/; s/Centos/Fedora/’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus., Ici, ‘Ubuntu’ et ‘Centos « sont remplacés par » Kubuntu’ et ‘Fedora’.

    Aller en haut

    Combiner `sed` avec d’autres commandes

    La commande suivante sera de combiner le `sed` commande `cat` de la commande. La première commande ‘ sed ‘ prendra l’entrée du système d’exploitation.fichier txt et envoyer la sortie de la commande à la deuxième commande ‘ sed ‘après avoir remplacé le texte  »Linux’ par ‘Fedora’. La deuxième commande  » sed « remplacera le texte, « Windows » par « Windows 10 ».

    os cat os.,txt | sed ‘s/Linux/Fedora/’| sed ‘s/windows/Windows 10/i’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.

    Aller en haut

    Insérer une ligne vide dans un fichier

    Créer un fichier nommé stdlist avec le contenu suivant.

    stdlist

    #ID #Nom
    -Ali
    -Neha

     » G  » option est utilisée pour insérer une ligne vide dans un fichier. La commande ‘ sed ‘ suivante insère des lignes vides après chaque ligne du fichier stdlist.,

    $ cat stdlist
    $ sed G stdlist

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus. Une ligne vide est insérée après chaque ligne du fichier.

    Aller en haut

    Remplacer tous les caractères alpha-numériques par l’espace dans chaque ligne d’un fichier.

    la commande suivante remplacera tous les caractères alphanumériques par un espace dans le fichier stdlist.,

    $ cat stdlist
    $sed ‘s///g’ stdlist

    Résultat:

    La sortie suivante apparaît après l’exécution de commandes ci-dessus.

    Aller en haut

    Utiliser ‘&’ pour imprimer chaîne trouvée

    La commande suivante va chercher le mot commençant par  » L  » et remplacez le texte en ajoutant ‘Chaîne trouvée est –‘ avec le contenu de la parole par l’utilisation de ‘&’ symbole. Ici, ‘ p ‘ est utilisé pour imprimer le texte modifié.,

    $ sed -n ‘s/^L/Chaîne trouvée est – &/p’ os.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus.

    Aller en haut

    changer la paire de mots dans un fichier

    Créer un fichier texte nommé sûr.txt avec le contenu suivant qui contient la paire de mots dans chaque ligne.

    bien sûr.,txt

    PHP ASP
    MySQL Oracle
    CodeIgniter Laravel

    la commande suivante va changer la paire de mots dans chaque ligne du fichier, cours.txt.

    $ sed/\(*\) *\(*\)/\2 \1/’ cours.txt

    sortie:

    la sortie suivante apparaîtra après avoir changé la paire de mots dans chaque ligne.,

    Aller en haut

    mettre en majuscule le premier caractère de chaque mot

    Les `sed` commande va prendre de saisie de texte à partir de la `echo` commande et de convertir le premier caractère de chaque mot en majuscule.

    $ echo « j’aime bash programmation » | sed ‘s/\(\)\(*\)/\u\1\2/g’

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus. Le texte d’entrée,  » j’aime la programmation bash « est imprimé comme” J’aime la programmation Bash » après avoir capitalisé le premier mot.,

    Aller en haut

    Imprimer les numéros de ligne du fichier

    ‘=’ symbole est utilisé avec  » sed  » commande pour imprimer le numéro de la ligne avant chaque ligne d’un fichier. La commande suivante imprimera le contenu du système d’exploitation.fichier txt avec numéro de ligne.

    os sed ‘=’ os.txt

    Résultat:

    La sortie suivante apparaît après l’exécution de la commande ci-dessus. Il y a quatre lignes dans os.fichier txt. Ainsi, le numéro de ligne est imprimé avant chaque ligne du fichier.,

    Aller en haut

    Conclusion:

    les Différents usages de  » sed  » commandement sont expliquées dans ce tutoriel en utilisant des exemples très simples. La sortie de tous les scripts` sed ‘ mentionnés ici sont générés Temporairement et le contenu du fichier d’origine est resté inchangé. Mais si vous le souhaitez, vous pouvez modifier le fichier d’origine en utilisant l’option –I ou –in-place de la commande `sed. Si vous êtes un nouvel utilisateur Linux et que vous souhaitez apprendre les utilisations de base de la commande `sed ‘ pour effectuer différents types de tâches de manipulation de chaînes, alors ce tutoriel vous aidera., Après avoir lu ce tutoriel, espérons que tout utilisateur aura le concept clair sur les fonctions de la commande` sed’.

    Leave A Comment