CSH prbl sur une expr dans un script

Fermé
visiteurr - 3 févr. 2011 à 19:20
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 4 févr. 2011 à 11:48
Bonjour,
c'est encore moi =) désolé :/

j'ai une erreur qui ressort je voi pas pourquoi ! :

expr: syntax error

voila mon script :

#! /bin/csh


grep -n SECTION Texte.txt >> Num_line

set Num_line_2 = 'sed 's/:SECTION//g' Num_line'

tail +'expr $Num_line_2 + 2' Texte.txt | sed '$d' >> Texte.tmp

split -l 3000 -a 4 Texte.tmp

if( -e xaaaa) then

foreach line ( 'awk '{ print $1 }' xaaaa | uniq -c | awk '{ printf "%s|%s\n",$2,$1 }'' )

set line = ( 'echo $line | sed 's/|/ /'' )
set argv = ( $line )
sed "/$1/s/modifx/$2/" xaaaa > xaaaa.tmp
mv xaaaa.tmp xaaaa

end

endif

#2eme test
if( -e xaaab) then

foreach line ( 'awk '{ print $1 }' xaaab | uniq -c | awk '{ printf "%s|%s\n",$2,$1 }'' )

set line = ( 'echo $line | sed 's/|/ /'' )
set argv = ( $line )
sed "/$1/s/modifx/$2/" xaaab > xaaab.tmp
mv xaaab.tmp xaaab

end

xaaab >> xaaaa

endif

#3eme test
if( -e xaaac) then

foreach line ( 'awk '{ print $1 }' xaaac | uniq -c | awk '{ printf "%s|%s\n",$2,$1 }'' )

set line = ( 'echo $line | sed 's/|/ /'' )
set argv = ( $line )
sed "/$1/s/modifx/$2/" xaaac > xaaac.tmp
mv xaaac.tmp xaaac

end

xaaac >> xaaaa

endif

#4eme test
if( -e xaaad) then

foreach line ( 'awk '{ print $1 }' xaaad | uniq -c | awk '{ printf "%s|%s\n",$2,$1 }'' )

set line = ( 'echo $line | sed 's/|/ /'' )
set argv = ( $line )
sed "/$1/s/modifx/$2/" xaaad > xaaad.tmp
mv xaaad.tmp xaaad

end

xaaad >> xaaaa

endif


head -'expr $Num_line_2 + 1' | xaaaa >> | cat end Texte.txt


il y a un souci avec mes expr ? je comprend pas elles marchent très bien quant je les test en dehor du script...
vous avez des idées ?
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
Modifié par zipe31 le 3/02/2011 à 19:31
Salut,

head -'expr $Num_line_2 + 1' | xaaaa >> | cat end Texte.txt
Euh... tu veux faire quoi là exactement ??? ;-((
Le 1er pipe est en trop non ? C'est sur "xaaaa" que doit s'exécuter le "tail" non ?
Puis après la redirection (>>) est en trop aussi ;-\

Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
0
RE,

head -'expr $Num_line_2 + 1' | xaaaa >> | cat end Texte.txt

alors la je veu mettre dans un fichier ( Texte.txt ) le resultat du head puis ensuite xaaaa puis finir le fichier par 'end' sur la derniere ligne

j'ai vraiment pas la tete a bossé je me suis fait voler mon véhicule ... mais pas le choix merci pour ton aide
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
4 févr. 2011 à 11:15
Re-

head -'expr $Num_line_2 + 1' plop > Texte.txt && cat xaaaa >> Texte.txt && echo end >> Texte.txt


En modifiant le fichier "plop" par le bon ;-))
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
4 févr. 2011 à 11:17
<HorsSujetON>
Tu devrais jeter un oeil à la solution proposée par lami20j concernant ton autre post...
;-))
<HorsSujetOFF>
0
salut,
le plop c'est aussi Texte.txt ^^

<HS> tu penses que la rep de lami20j traite plus rapidement le fichier ? <HS/>
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
4 févr. 2011 à 11:48
Normalement oui ;-))
0