Problème de variable entree
noureddine1967 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Je travaille dans une société à vocation commerciale et je suis chargé de l'édition des factures sous AIX 5.1. En cas de bourrage de papier je suis obligé de procéder, avec les commandes grep et AWK à créer un fichier pour la suite de l'impression.
J'ai crée un bash et son exécution
#! /bin/sh
clear
set t=' '
echo -n "Entrez le numero de la facture ->> "
set t=$<
for j in 'grep -n "$t" fichier_fact |awk '{print $1}''
do
awk 'NR>="$j" {print}' fichier_fact>nouv_fich
done
il s'affiche le message suivant:
-n Entrez le numero de la facture ->>
bour[5]: 0403-057 Erreur de syntaxe à la ligne 6 : 'newline or ;' inattendu.
Merci par avance pour votre aide
3 réponses
Le script shell sous AIX 5.1 utilisant grep et awk pour extraire les détails d'une facture présente une erreur de syntaxe et une problématique de positionnement du numéro. Des approches évoquent de repérer la ligne où se trouve le numéro, puis d'afficher le reste du fichier à partir de cette ligne grâce à awk. Plusieurs réponses indiquent que le numéro de la facture est généralement dans le deuxième champ et proposent d'utiliser des constructions awk pour démarrer l'impression à partir de ce champ. En pratique, la solution efficace validée montre que l'impression doit démarrer à partir de la ligne correspondant au numéro, et des ajustements sont nécessaires pour traiter les pages multiples.
-
Salut,
J'ai crée un bash et son exécution
Si l'on en croit la syntaxe employée, ce n'est pas du bash, mais du "csh" ;-\
Ton shebang indique "#! /bin/sh", est-ce que /bin/sh" est bien un lien symbolique vers "/bin/csh" ?
-
-
Sous csh la syntaxe for n'est pas reconnue, il faut employer foreach ;-\
-
-
-
Salut,
J'ai changé de script et voici le message d'erreur
! /bin/csh
clear
echo -n "Entrez le numero de la facture ->> "
set ligne=$<
j='grep -n "$ligne" fichier_fact | awk '{print $1}''
awk 'NR>="$j" {print}' fichier_fact>nouv_fichier
Entrez le numero de la facture ->> nnnnnnnnnn
j=50041:: Commande introuvable.
/home/users/edition/
-
-
hello
montre un bout de fichier_fact -