Bonjour à tous,
je ne trouve pas de solution pour mettre en paramètre la commande que il se doit.
Contexte dans le répertoir /tmp nous avons des fichiers du type
XXX.TTTT.DAYLY
XXX.TTTT.WEEKLY
XXX.TTTT.MOUNTHLY
Le but et de recopier l'ensemble des fichier en remplaçant la chaîne TTTT par YYYY nous aurons comme résultat:
XXX.YYYY.DAYLY
XXX.YYYY.WEEKLY
XXX.YYYY.MOUNTHLY
A=`ls /tmp/XXX.TTTT* | cut -d. f3`
n=`ls XXX.TTTT.* | wc -l`
awk
#mais nous ne connaissons pas le nombre
#avec la commande echo $A | awk '{print $2}' sa fonctionne
#il me retourne le résultat WEEKLY et $1 DAYLY etc
awk "/$pattern/ "'{ nmatches++ }END { print nmatches, "found" }' /tmp/data
sa ne fonctionne pas
Nous avons l'erreur suivante
awk "/$A/ "'{ nmatches++ } END { print nmatches, "found" }' /tmp/data
awk: cmd. line:1: /DAY
awk: cmd. line:1: ^ unterminated regexp
awk: cmd. line:2: WEEKLY/ { nmatches++ } END { print nmatches, "found" }
awk: cmd. line:2: ^ syntax error
# Si j’ai bien compris
Posté par Anthony Jaguenaud . Évalué à 2.
Tu veux copier le fichier
XXX.TTTT.DAYLY
enXXX.YYYY.DAYLY
?Si c’est la cas en shell :
[^] # Re: Si j’ai bien compris
Posté par Nicolas Casanova . Évalué à 2.
On peut même se passer d'une variable
$new_name
intermédiaire et de l'appel à sed :# simple quote avant et après la variable shell
Posté par totof2000 . Évalué à 4.
Dans ton cas ça donnerait un truc du genre :
Note que ce qui t'intéresse ici est awk '/'$mavariable'/ { nmatches++ } END { print nmatches, "found" }'
Le reste nest là que pour pouvoir donner "à manger" à awk.
# A contient plusieurs lignes
Posté par goeb . Évalué à 1.
Explication des erreurs que tu rencontres…
Le remplacement de :
Donne dans ton cas :
Car A contient la chaîne "DAY\nWEEKLY" (le \n désignant un retour à la ligne).
# Ne pas utiliser awk ?
Posté par Marotte ⛧ . Évalué à 3. Dernière modification le 19 juin 2015 à 14:30.
Ce ne serait pas plus simple d’utiliser la substitution de variable ?
C’est possible que j’aie rien compris aussi :)
Au passage je pense que c’est « monthly » et pas « mounthly »
[^] # Re: Ne pas utiliser awk ?
Posté par Marotte ⛧ . Évalué à 2.
Et c’est WEEKLY et pas WEAKLY /o\ :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.