BASH echo avec sed
J'ai:
Location.txt (le contenu)
some_line1
some_line2
some_line3
region.txt (le contenu)
region1
region2
region3
uri.txt (le contenu)
/some_text/some_text1/***/
/some_text/***/some_text2/
/***/some_text/some_text3/
J'ai besoin de créer des fichiers
region1
region2
region3
et chacun d'entre eux ont à remplir avec les éléments suivants (nom de la région au lieu d'étoiles)
Exemple de fichier région1
/some_text/some_text1/region1/
some_line1
some_line2
some_line3
/some_text/region1/some_text2
some_line1
some_line2
some_line3
/region1/some_text/some_text3
some_line1
some_line2
some_line3
Exemple de fichier région2 (nom de la région au lieu d'étoiles)
/some_text/some_text1/region2/
some_line1
some_line2
some_line3
/some_text/region2/some_text2
some_line1
some_line2
some_line3
/region2/some_text/some_text3
some_line1
some_line2
some_line3
Maintenant, j'ai
#!/bin/bash
while read region
do
while read uri
do
echo $uri >> "/home/user/regions/$region"
done < uri.txt
done < region.txt
Ce script crée des fichiers avec des noms de lignes de region.txt
et de le remplir avec des lignes de uri.txt
.
Mais je dois faire un lot de fichiers. Chaque fichier doit être rempli avec de nombreux endroits, mais une ligne dans chaque emplacement doit être changé à la ligne de uri.txt
.
Regarde comme je dois utiliser
cat $file|sed 's/^was/now/'
mais je ne sais pas comment l'utiliser.
Toute aide, s'il vous plaît.
- D'où vient
location.txt
entrent en jeu? Vous l'avez placée au début de votre description et mentionnés dans le paragraphe suivant, mais vous n'avez pas de référence de n'importe où d'autre, de sorte qu'il est difficile de savoir quels sont les contenus que vous cherchez dans toutes les/home/user/regions/$region
fichiers. - peut-être ajouter un petit échantillon de quelques fichiers utilisés et le résultat attendu dans l'un d'eux.
- Désolé. J'ai édité mon post
Vous devez vous connecter pour publier un commentaire.
Si je comprends bien votre problème de 3 imbriqués pour le cycle peut faire le travail.
Résultat:
J'espère que cela va vous aider!
for
boucle surcat
. Honte à vous pour la propagation des mauvaises pratiques!-1
.Je voudrais utiliser awk pour cela:
@user2874004: votre script, un peu mieux écrit:
(Je n'ai aucune idée de ce qu'il fait, même si
:)
).Finalement j'ai utilisé le suivant, et il fonctionne.
Merci à vous tous pour votre aide.