CSH prbl sur une expr dans un script
visiteurr
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
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 ?
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:
- CSH prbl sur une expr dans un script
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
- Une erreur est survenue dans le script de cette page ✓ - Forum Windows
2 réponses
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.
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.
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
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
<HorsSujetON>
Tu devrais jeter un oeil à la solution proposée par lami20j concernant ton autre post...
;-))
<HorsSujetOFF>
Tu devrais jeter un oeil à la solution proposée par lami20j concernant ton autre post...
;-))
<HorsSujetOFF>