Commande sous UNIX

Fermé
LULU2604 - 11 sept. 2008 à 18:04
 unjourjeseraisuperieuradieu - 12 sept. 2008 à 11:23
Bonjour,

J'ai un fichier ou à l'intérieur j'ai plus ou moins 7000 lignes de 759 caractères sur X colonnes
dans la 2émé colonnes je dois retirer du fichier toutes les lignes qui commence par 2
que je dois re-diriger vers un autre fichier

J'ai essayé avec la commande awk et nawk mais je ne trouve pas la syntaxe

Avez-vous une idée SVP?
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
11 sept. 2008 à 18:08
Salut,

Tu peux afficher un bout du fichier et le résultat escompté histoire qu'on soit bien d'accord ?

Au cas ou colle ça sur Cjoint ou pastebin.
2
vignemail1 Messages postés 1246 Date d'inscription vendredi 8 octobre 2004 Statut Contributeur Dernière intervention 13 septembre 2019 259
11 sept. 2008 à 18:16
Met un exemple de ligne à garder et de lignes à enlever pour qu'on comprenne bien. Sinon, tu as regardé la commande grep avec l'option -v, car cela permet de filtrer tes lignes selon un motif de ligne n'apparaissant pas. Pour ce qui est d'extraire la deuxième colonne, tu peux voir avec un cut -f2 et si ensuite tu dois trouver seulement qui ont la deuxième colonne qui commence par 2, un autre grep pourrait faire l'affaire
1
Salut

Voici un exemple de mes lignes

Bonjour

Voici un exemple de ligne

C2 220080910EUREXEXANE
C2 120080910EUREXEXANE

Sur la 1ere ligne 2émé colonne elle commence par 2
sur la 2émé ligne 2émé colonne elle commence par 1

En gros comme ma 1ere ligne commence par un 2 je dois la supprimer
mais je dois garder ma 2émé ligne

Attention
Les lignes font 759 caractères mais je ne peu pas vous les donnes
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
12 sept. 2008 à 09:50
awk '$2 !~ /^2/ {print $0}' fichier > new_fichier
1
Nickel

ça fonctionne je te remercie te ton aide
0
unjourjeseraisuperieuradieu
12 sept. 2008 à 09:36
sed -i "/^C2\ 2.*/d" nom_du_fichier


la methode la plus performante en terme de vitesse c'est celle ci .
0
unjourjeseraisuperieuradieu
12 sept. 2008 à 09:52
J'avais pas vu si tu veux une redirection c'est presque pareil :

sed -e "/^C2\ 2.*/d" nom_du_fichier > fichier_resultat
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > unjourjeseraisuperieuradieu
12 sept. 2008 à 09:57
Du coup ce jour n'est pas encore prêt d'arriver ;-DD
0
unjourjeseraisuperieuradieu > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
12 sept. 2008 à 11:23
;)
0