Bonjour,
j'ai un fichier qui contient exactement 15 000 000 lignes (2,5 G)

Chaque ligne doit avoir pour longueur 150 caractères.
Cependant, il existe quleques unes qui dépassent cette longueur.

Je voudrais écrire un script pour afficher ces lignes (avec leurs numéros) dans un fichier de log, et les supprimer du fichier initial (ou au pire créer un autre fichier sans ces lignes là)

j'ai commencé avec ça pour tester, il a tourné toute la nuit et est encore à la ligne 134 000 !!! à ce rythme là il me faut des semaines

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
COUNT=0 
 
while read ligne
do
	COUNT=$(expr $COUNT + 1)
	length=`echo "$ligne" | wc -m`
	echo $COUNT " : " $length
	if [ $length -gt 143 ]
	then
		echo $COUNT " : " $ligne >> anomalies.log
	else
		echo $ligne >> New_file.dat
	fi
done < $myFile
Des idées?
Merci