[LINUX] Comment exécuter la commande sed plusieurs fois à l'aide de l'instruction for

Aperçu

Sous Linux, vous pouvez utiliser l'instruction for pour insérer des caractères à divers endroits sur la ligne à l'aide de la commande ** sed **. Je pense que cela peut être appliqué à d'autres commandes. (Il semble y avoir un moyen plus simple ...)


insert.sh (Vous pouvez également copier et coller sur la ligne de commande au lieu d'un script shell)


#!/bin/bash
cat sequence.txt > sequence2.txt
for int in 15 12 9 6 3
do
echo "$(sed -E "s/(^.{$int})/\1-/g" sequence2.txt)" > sequence2.txt
done

##Tous les 3 caractères"-"Insérer
## sequence.txt -> ("-"Insérer) -> sequence2.txt

Résultat d'exécution


$ cat sequence.txt
xxxx5xxx10xxx15
xx3xx6xx9x12x15
xxxxAxxxxAxxxxA
xxAxxAxxAxxAxxA

$ ./insert.sh ; cat sequence2.txt
xxx-x5x-xx1-0xx-x15-
xx3-xx6-xx9-x12-x15-
xxx-xAx-xxx-Axx-xxA-
xxA-xxA-xxA-xxA-xxA-

Commentaire

  1. En utilisant le même nom de fichier
    sed -E" s / (^. {$ Int}) / \ 1- / g "sequence2.txt> sequence2.txt Normalement, le contenu de ** sequence2.txt ** sera vide si vous faites comme ça, mais en définissant
    ʻecho "$ (commande)"> sequence2.txt<br>, ** sequence2 Vous pouvez écraser .txt ** sans être vide et en sortie. <br> <br> <font color = gray> (Les données vides sont affichées en premier lieu lorsque> sequence2.txt est exécuté, et l'opération ** vide le contenu de ** sequence2.txt avant sed** Parce que c'est fait (en conséquence, il estsedde vider les données). ʻEcho "$ (commande)"Le contenu de ʻsont exécuté avant> sequence2.txt, donc ceci écrasera avec succès ** sequence2.txt **) </ font>
    < br>
  2. Afin de pouvoir utiliser la variable ** $ int ** de l'instruction for dans la commande sed, vous devez utiliser""(utiliser''est une variable dans la variable. Parce qu'il est reconnu comme une simple chaîne de caractères)

Il semble y avoir diverses autres méthodes pour générer le fichier avec le même nom, donc si vous êtes intéressé, veuillez vous référer au lien ci-dessous. (1er lien)

Concernant> 1.
Traitez le fichier avec bash et écrasez le résultat avec le même fichier
Redirection vers un fichier du même nom

Concernant 2.
[[bash] Différence entre "" "," \ '"et" "" -Plutôt école de riz](https://blog.goo.ne.jp/01_mai/e/ a4f9f01fb647066d0c7eb37e8ae0a254)

Recommended Posts

Comment exécuter la commande sed plusieurs fois à l'aide de l'instruction for
Comment écrire une interface graphique à l'aide de la commande maya
Comment supprimer la chaîne de caractères spécifiée avec la commande sed! !! !!
Comment exécuter une commande à l'aide d'un sous-processus en Python
Je ne savais pas comment utiliser l'instruction [python] for
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
[Linux] Comment utiliser la commande echo
Exécutez la commande COPY en utilisant Psycopg de python
Comment connaître le nombre de processeurs sans utiliser la commande sar
Comment utiliser MkDocs pour la première fois
Comment écrire une instruction ShellScript Bash for
Comment trouver la corrélation pour les variables catégorielles
Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Comment créer un article à partir de la ligne de commande
[Pour les débutants] Comment utiliser la commande say avec python!
[Pour les débutants] Comment afficher des cartes et des champs de recherche à l'aide de l'API Javascript GoogleMap
Ajouter un utilisateur Linux, comment utiliser la commande useradd
Comment utiliser la commande grep et des exemples fréquents
[Introduction à Python] Comment arrêter la boucle en utilisant break?
Je veux automatiser ssh en utilisant la commande expect!
(Rappelez-vous rapidement) Comment utiliser la ligne de commande LINUX
[Introduction à Python] Comment écrire des instructions répétitives à l'aide d'instructions for
Comment activer l'instruction for lorsqu'il existe plusieurs valeurs pour une clé dans le dictionnaire
Comment trouver la somme / somme cumulée pour chaque groupe à l'aide de DataFrame dans Spark [version Python]
[python] Comment utiliser Matplotlib, une bibliothèque pour dessiner des graphiques
Je veux automatiser ssh en utilisant la commande expect! partie 2
Comment définir plusieurs variables dans une instruction Python for
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment utiliser le générateur
Cloner à l'aide de la commande dd
Comment utiliser le décorateur
Comment augmenter l'axe
Comment démarrer la première projection
[Python] Comment utiliser l'instruction for. Une méthode d'extraction en spécifiant une plage ou des conditions.
Comment définir la résolution de sortie pour chaque image clé dans Blender
[sh] Comment stocker les résultats de l'exécution de la commande dans des variables
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Faisons-le en divisant numpy sans utiliser l'instruction for
Comment obtenir le pilote d'imprimante pour Oki Mac sous Linux
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
[EC2] Comment installer Chrome et le contenu de chaque commande
Comment faire une commande pour lire le fichier de paramètres avec pyramide
[EC2] Comment installer et télécharger chromedriver à partir de la ligne de commande
Comment passer des arguments en utilisant une instance avec la commande systemctl de systemd
Comment afficher le résultat de sortie de la commande man Linux dans un fichier
Comment surveiller l'état d'exécution de sqlldr avec la commande pv
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Faisons-le en multipliant numpy sans utiliser l'instruction for
■ Comment exécuter "TensorFlow CNN pour un transfert de style rapide" qui provient de GitHub en utilisant Google Colaboratry
Pour le moment en utilisant FastAPI, je veux montrer comment utiliser l'API comme ça dans swagger
Comment installer Python à l'aide d'Anaconda
Comment calculer le coefficient d'autocorrélation
Comment utiliser la fonction zip
Comment utiliser le module optparse
[Pour les non-programmeurs] Comment marcher Kaggle
Exécutez l'instruction [python] exec, eval