[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [totalement HS] Trouver les fichiers fortran avec qqch dans les colonnes superieures a 72



giggzounet a écrit :
> Grégory Bulot a écrit :
>> Alain Baeckeroot <alain.baeckeroot@laposte.net> à écrit le Wed, 15 Jul
>> 2009 12:07:34 +0200
>>
>>
>>> pas subtil du tout
>>> $ cat fichier.f77 |cut -c73- |sort -u |wc -l
>>> si ce n'est pas 0 il y a qq chose.
>>>
>>
>>
>> erf j'avais encore moins subtil (script une ligne) : 
>>  L=1 ; cat < fichier | while true ; do read ligne ;
>> NBcar=${#ligne} ; if (( $NBcar > 73)) ; then echo "Ligne $L = $NBcar" ;
>> fi ;  L=$(($L + 1)) ; done | more
>>
> 
> voilà ou j'en suis :
> #!/bin/sh
> for file in *.f ;do
> L=1
> cat $file | grep -v "C" | while read ligne
> do
> NBcar=${#ligne}
> if [ "$NBcar" -ge "73" ]; then
> echo  -e
> '\E[34;40m'"\033[1m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\033[0m";
> tput sgr0
> echo  -e
> '\E[34;40m'"\033[1m------------------------------------------------------------------------\033[0m";
> tput sgr0
> echo  -e '\E[34;40m'"\033[1mfile : $file : Line $L = $NBcar\033[0m";
> tput sgr0
> echo  -e
> '\E[34;40m'"\033[1m------------------------------------------------------------------------\033[0m";
> tput sgr0
> echo  -e
> '\E[34;40m'"\033[1m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\033[0m";
> tput sgr0
> echo " "
> echo "Line :"
> echo $ligne
> echo " "
> echo " "
> echo " "
> sleep 1
> fi
> L=$(($L + 1))
> done
> done
> exit
> 
> 
> 
> ça marchait pas avec "while true ; do read ligne ;", il faut mettre
> "while read ligne; do".
> 
> Sinon encore une question je veux eviter de tester les commentaires,
> d'ou pour l'instant mon "cat $file | grep -v "C"". mais c'est moche et
> surtout assez dangereux car je zappe tous les CALL par exemple...
> 
> je cherche donc une regexp qui teste sur la premiere colonne. une idée ?
> 
> Merci
> 
> 

bon je crois que je l'ai :
cat $file | grep -iv -E ^C

ou un truc du genre :)

Bye


Reply to: