Lecture via awk
dim
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Mon probleme est situé dans un shell script unix et est le suivant:
j'effectue un cat pour lire un fichier constitué comme suit:
A B od
C D od
E F od
od etant le return carriage.
lorsque j'utilise la synthaxe suivante, il ne lit pas la ligne complete en me renvoyant A en $1 et B en $2 mais me renvoi A en $1 en suite B en $1 en suite C en $1
for i in `cat ${BIN_DIR}/archive_file.ini`;
do
echo "*-----${i}------*"
GROUP=`echo $i | awk '{print $1}'`
TYPE=`echo $i | awk '{print $2}'`
done
Group est toujours egal a la valeur $1 mais $2 est tjrs vide.
Merci d'avance pour le coup de pouce.
Dim
Mon probleme est situé dans un shell script unix et est le suivant:
j'effectue un cat pour lire un fichier constitué comme suit:
A B od
C D od
E F od
od etant le return carriage.
lorsque j'utilise la synthaxe suivante, il ne lit pas la ligne complete en me renvoyant A en $1 et B en $2 mais me renvoi A en $1 en suite B en $1 en suite C en $1
for i in `cat ${BIN_DIR}/archive_file.ini`;
do
echo "*-----${i}------*"
GROUP=`echo $i | awk '{print $1}'`
TYPE=`echo $i | awk '{print $2}'`
done
Group est toujours egal a la valeur $1 mais $2 est tjrs vide.
Merci d'avance pour le coup de pouce.
Dim
2 réponses
-
Salut,
Essaie ça plutôt :while read i ; do echo \"*-----${i}------*\" GROUP=`echo $i | awk '{print $1}'` TYPE=`echo $i | awk '{print $2}'` done < ${BIN_DIR}/archive_file.ini;-))
PS. Sans les anti-slashes devant les guillemets (erreurs sur le site) -
Je poste mes essais, et d'un parce que j'ai oublié de le faire et de deux pour faire des tests sur le formatage des balises de codes ...
[jp@MDK tmpfs]$ cat fich.txt A B C D E F [jp@MDK tmpfs]$ cat script.sh #! /bin/bash #for i in `cat fich.txt`;do while read i; do echo "*-----${i}------*" var1=`echo $i | awk '{ print $1 }'` var2=`echo $i | awk '{ print $2 }'` echo "var1 = $var1" echo "var2 = $var2" done < fich.txt [jp@MDK tmpfs]$ sh script.sh *-----A B------* var1 = A var2 = B *-----C D------* var1 = C var2 = D *-----E F------* var1 = E var2 = F [jp@MDK tmpfs]$;-))