[linux] Filtrer des données avec grep

kulbank -  
 kulbank -
Bonjour à tous,

Je suis nouveau sous linux et j'ai un souci.
Pour un projet de modélisation 3D d'un terrain, je dois sélectionner des lignes de coordonnées parmi un grand nombre de données. J'ai un fichier texte de 350 Mo avec 13 millions de coordonnées XYZ de points. J'aimerais filtrer ces points pour n'en prendre que ceux qui se trouve autour des bâtiments à modéliser.
Exemples de points: 576253.50 184999.50 621.30
576254.50 184999.50 621.37
576255.50 184999.50 621.46
Le premier nombre est en X, le second en Y et le dernier l'altitude. J'aimerais isoler les points qui se trouvent dans l'intervalle en X [578553;578880] et en Y [182300;182648]
Je me suis dit que la fonction grep irait parfaitement! J'ai donc essayé mais cela ne fonctionne pas. Grep croit que c'est des chiffres et non des nombres.

grep -E [578553-578880 182300-182648]

Les points désirés doivent être compris les deux intervalles.
PS: quelle est la commande à utiliser afin d'enregistrer les valeurs trouvées?

Merci d'avance!

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Essaye avec "awk" plutôt :

awk '($1>=578553 && $1<=578880) && ($2>=182300 && $2<=182648) { print }' fichier
0
kulbank
 
J'ai essayé avec awk et il me dit qu'il y a un & en trop...

awk: 1: unexpected character '&'

Et après je fais comment pour enregistrer les données que la console va m'afficher?

PS: J'ai essayé en réduisant le code
awk '($1>=578553 && $1<=578880) { print }' fichier.txt

Et là ça fonctionne. Vous pourriez m'aider?
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
J'ai essayé avec awk et il me dit qu'il y a un & en trop...
Quelle version de "awk" ? Quel système ?
Chez moi ça marche ;-\

Et après je fais comment pour enregistrer les données que la console va m'afficher?
Il suffit de rediriger la sortie vers un fichier :
awk 'commandes' fichier > fichier.sortie
0
kulbank
 
Alors je suis sur Kubuntu, je bosse dans un terminal. J'ai pris une capture.
http://imageshack.us/photo/my-images/404/commandelinux1.png/
Je sais pas comment afficher mais quand je tape "man awk" il me met NAME: mawk

Merci pour enregistrer c'est bon j'arrive! \o/ MERCI
0
kulbank
 
C'est bon j'ai vu ma faute! J'ai réussi!!!

Merci bcp!
0