‘ 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.
Le résultat suivant montre que GNU Sed de la version 4.4 est installé dans le système.,
Syntaxe:
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
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’.,
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
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 ».
$ 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.
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.
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.
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.
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.
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.
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`.
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:
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’.
$ 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.
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’.,
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
Linux
Android
OS
la commande `sed` suivante supprimera ces lignes du système d’exploitation.fichier txt qui contient le texte, ‘OS’.
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.
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.,
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’.
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.
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.
$ 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 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.
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.
$ 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é.
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.
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
1023 => Nir Hossain
1067 => Jean-Michel
Créer un fichier texte nommé list2.txt et ajouter le contenu suivant.
cat liste de chat2.txt
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.
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.
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.
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 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’.
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.
$ 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.
$ 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’.
$ 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
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.
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.,
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.
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.,
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.
$ 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.,
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é ».
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/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.
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.
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.
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’.
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 ».
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
-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.,
$ 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.,
$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é.,
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
MySQL Oracle
CodeIgniter Laravel
la commande suivante va changer la paire de mots dans chaque ligne du fichier, 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.
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.
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’.