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
InformationsquelleAutor merlin.metso | 2013-11-08