Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 21/01/2010, 17h16   #1
Invité régulier
 
Inscription : août 2002
Messages : 36
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2002
Messages : 36
Points : 9
Points : 9
Par défaut Extraire des lignes d'un fichier (shell unix)

Bonjour,

J'ai besoin d'extraire d'un fichier les lignes qui ont le caractère T en position 506.

J'ai essayé avec en lisant mon fichier avec la commande read mais cette commande supprime les espaces en trop (quand il y en a au moins 2) et du coup les lignes de mon fichier sont complétement décalées !

Quelqu'un a-t-il une solution ? soit pour que le read ne me supprime pas les espaces, soit une autre méthode pour extraire mes lignes...

Merci de votre aide...
guicecal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2010, 11h21   #2
Membre éprouvé
 
Inscription : juillet 2006
Messages : 533
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 533
Points : 486
Points : 486
Avec awk, tu peux utiliser cette ligne

Citation:
if (index(line, "T") == 506) {
# extract the current line which T in 506th position
}
ttttnht est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2010, 13h49   #3
Membre habitué
 
Inscription : mai 2007
Messages : 138
Détails du profil
Informations personnelles :
Âge : 59

Informations forums :
Inscription : mai 2007
Messages : 138
Points : 108
Points : 108
index() loupe toutes les lignes qui ont un "T" avant la position 506
Code :
1
2
3
4
5
if (substr(line, 506,1) == "T") {
# extract the current line which T in 506th position
print $0
}
noooop est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h15.


 
 
 
 
Partenaires

Hébergement Web