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: