|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
Bonjour, à tous, j'ai un souci d'affichage et j'ai besoin de votre aide, svp
voici mon script Code :
. Code :
|
||||
|
|
10
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
substitue "tout ce qui precède le premier / et le slash" par ""
parce que sur la première ligne tu as "/" et pas "./" donc là ça résoud les deux cas. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Ta commande find find -type f -name "*.dsc" descend dans des sous-répertoires ou pas ? Si la réponse est non, alors rajoute "-printf '%f\n'" et tu devrais être tranquille
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Je n'avais pas vu le "${i:2}" qui est sensé enlever le "./".
Tu peux aussi faire avec : ${i/\.\//}
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#5 |
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
merci pour vos reponses.
En fait j'ai un repertoire un repertoire qui contient plusieurs types de fichiers et je veux traiter les ceux qui ont extension .dsc, sinon comment je mets "-printf '%f\n'" et une question: est ce qu'il n'y a pas d'erreur dans ce code parcequ'il ne compte pâs bien |
|
|
02
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Code :
find -type f -name "*.dsc" -printf '%f\n' Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
|
10
|
|
|
#7 | ||||
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
zipe31 voila ce que ce que j'ai mis à la fin:
Code :
Code :
|
||||
|
|
02
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Affiche ton code en entier tu dois avoir une m*rdouille ailleurs
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#9 |
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
c'est ce mis en tou debut
|
|
|
02
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Ben c'est comme tu veux, dans ce cas je ne peux rien te dire de plus
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
je ne vois ce qui peux t"enerver, t'as demande mon code et l'integralite de mon code est au debut de la discussion, sinon c'est toi comme tu veux!!
|
|
|
10
|
|
|
#12 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Je ne m'énerve pas... tu viens demander de l'aide, on te file une solution, tu viens dire que ça ne marche pas, on (enfin je) te demande d'afficher ton code (modifié apparemment) et ça a l'air de te demander un effort suprême que de faire un copier/coller, d'où ma démotivation
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#13 |
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
j'ai mieux à faire que lire des jeux de mots!!! sinon merci pour ta participation
|
|
|
01
|
|
|
#14 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
Bonjour,
ON NE FAIT PAS : for element in $(commande); do, si un nom de fichier contient un des caractères de l'IFS, ça bouclera sur chaque mot du nom du fichier en cause. Alors, c'est soit : Code :
for element in ./*; do if [ -f "$element" ]; then ...; fi; done Montre-nous comment tu fais pour exécuter ton script. |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
Merci N_BaH pour executer je fait sh dsc.sh
|
|
|
01
|
|
|
#16 | ||||
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
et pourtant ma boucle marche,
Code :
1_ les resulats de des calculs se sont exactes comparée à ceux que j'ai eu par la main _ dans l'affichage j'ai quelqu chose comme Code :
Remarque: je saute toutes les lignes commaçant par un // |
||||
|
|
00
|
|
|
#17 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
eh, oui, voilà pourquoi la substitution ne fonctionne pas : sh est probablement un lien vers dash, ou autre "strictement POSIX".
un script se lance de la même manière qu'une commande normale : /chemin/commande, si /chemin n'est pas dans la variable PATH. Si ton script est dans le répertoire courant, alors ./nomScript. -printf est une option/commande de find ! |
|
|
00
|
|
|
#18 |
|
Membre émérite
![]() ![]() Inscription : octobre 2004 Messages : 668 ![]() |
euh, pour virer le "./" initial, un
devrait suffire.
__________________
Software becomes slower faster than hardware becomes faster http://xrenault.developpez.com API C standard (C ANSI ) |
|
|
10
|
|
|
#19 |
|
Membre du Club
![]() " " Inscription : janvier 2008 Messages : 204 ![]() |
le regle bien le probleme du ./ merci tout le mondeMais par contre ce que je ne comprends pas , c'est les erreurs dans le calcul, sachant que : j'ouvre le fichier et je compte des occurences en ignorant les lignes commençant par un // |
|
|
00
|
|
|
#20 |
|
Membre émérite
![]() ![]() Inscription : octobre 2004 Messages : 668 ![]() |
Cela dit, personnellement, j'aurai fait un truc comme ça pour répondre à ton besoin (en complétant les expressions pour avoir tout ce que tu veux, et éventuellement aussi ne pas compter si tu as plusieurs occurences de la même chose sur une seule ligne) :
Code :
find . -type f -name "*.dsc" -exec awk 'BEGIN{ask=qstatus=0} ($1 ~ /\/\//){next} /qstatus=v3/{qstatus++} /ASK/{ask++} END{print FILENAME " " qstatus";"ask";"}' {} \; | sed 's,./,,'
__________________
Software becomes slower faster than hardware becomes faster http://xrenault.developpez.com API C standard (C ANSI ) |
|
|
20
|
Copyright © 2000-2012 - www.developpez.com