UNIX : Récupération lignes

Fermé
bob - 10 sept. 2002 à 10:43
 Haiti - 11 janv. 2003 à 16:04
Bonjour

J'ai un fichier .txt à traiter avec un shell, fichier sous la forme :
COLONNE 1 COLONNE 2 COLONNE 3 COLONNE4
123654 OURS 012 12
789654 LION 013
784596 LAPIN 015 11
456213 PLOMB
125478 FER 14


...etc


Je veux récupérer dans un nouveau fichier ( possédant 4 colonnes ) uniquement les lignes qui ont leurs 3 et 4 colonnes renseignées ( cad toutes sauf les lignes qui ont uniquement leurs deux colonnes renseignées )
Attention, les lignes n'ayant que les deux premières colonnes renseignées n'ont pas de tabulation pour les colonnes 3 et 4 , celà passe directement à la ligne suivante ( idem pour les lignes n'ayant que les trois premières colonnes de remplies )

Comment procéder?

Merci

2 réponses

cat tonfichier.txt | grep "[0-9]* [A-Za-z]* [0-9 ]*"

je t'aurais pas déjà répondu ? ça t'arrive de lire les pages du manuel:
man cat
man grep

ou
http://dpobel.free.fr/man/html/affiche_man.php?id=429
http://dpobel.free.fr/man/html/affiche_man.php?id=1256

tigrou - http://dpobel.free.fr/
0
Hello,

Another solution can look like this:

#!/bin/sh

while read line
do

echo "$line" | awk '{ if ( $NF > 3 ){ print "%s %s %s %s\n",$1,$2,$3,$4} }' >> new.fic.txt

done < old.fic.txt
0