|
|
|
|
Bonsoir,
j'utilise Cygwin pour exécuter le bash suivant:
****************************************************
#! /bin/bash
fichier="$1"
while read line
do
var=$(echo "$line" | sed 's/.\{332\}\(.\{60\}\).*/\1/')
while [ $(grep -o "$var" <<<"$line" | wc -l) -gt "1" ]
do
sed -i '/'"$var"'/ s///2' "$fichier"
line=$(sed -n '/'"$var"'/p' "$fichier")
done
done < <(cat $fichier)
****************(MERCI JIPLICY)*****************
en l'exécutant comme ça:
test.sh fichier.txt
J'ai en retour le message d'erreur suivant :
>line 71: syntax error near unexpected token `done'
>line 71: `done'< <<(cat $fichier)'
J'ai entre autre essayé de remplacer #! /bin/bash par #! /bin/sh
MAIS RIEN??
Déja eu le problème??
D'avance merci
Configuration: Windows XP Internet Explorer 7.0
Ben essaie de coder le nom du fichier en dur, commente la ligne et remplace-la par:
|
Bonjour,
|
Répondre à tht123
|
Bon, je reviens à la charge pour régler ton problème n°1...
[jp@MDK tmpfs]$ ls -l
total 12
-rw-rw-r-- 1 jp jp 456 mai 31 09:45 fich01.txt
-rw-r--r-- 1 jp jp 456 mai 31 09:49 old_fich01.txt
-rwxrwxr-x 1 jp jp 250 mai 31 09:48 tht123.sh*
[jp@MDK tmpfs]$ cat fich01.txt
Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase.
Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase.
Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase.
[jp@MDK tmpfs]$ cat tht123.sh
#! /bin/bash
while read line
do
var=$(echo "$line" | sed 's/.\{6\}\(.\{18\}\).*/\1/')
while [ $(grep -o "$var" <<<"$line" | wc -l) -gt "1" ]
do
sed -i '/'"$var"'/ s///2' "fich01.txt"
line=$(sed -n '/'"$var"'/p' "fich01.txt")
done
done < fich01.txt
[jp@MDK tmpfs]$ ./tht123.sh
[jp@MDK tmpfs]$ cat fich01.txt
Champ ref : 001 ABC de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase.
Champ ref : 002 DEF de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase.
Champ ref : 003 GHI de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase.
[jp@MDK tmpfs]$;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Salut,
|
Voici les erreur que j'ai:
|
Je n'en sais rien pourquoi ça te fais ça !!!
#! /bin/bash set -xv while read line do...Au pire, essaie aussi de changer cette ligne : while [ $(grep -o "$var" <<<"$line" | wc -l) -gt "1" ]par : while [ $(echo "$line" | grep -o "$var" | wc -l) -gt "1" ]C'est pas dit que ça change quoi que ce soit, mais vu que Cygwin fait des caprices. PS. Pour les liens "cjoint", ne me mets pas des fichiers ".doc", mets tes captures d'écran directe (images). Merci. Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Bonjour,
|