Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
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 31/03/2006, 01h34   #1
Invité de passage
 
Inscription : novembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 15
Points : 0
Points : 0
Par défaut Extraction champs precis

salut à tous et merci d'avance pour l'aide,j'en ai vraiement besoin,
voila j'ai pas su comment extraire
des champs precis d'un fichier, normalement je dois utiliser la command cut, mais
sachant que dans mon fichier les champs sont separés pas plusiuers <espace> alors que l'option -d' ' de la commande ne traite q'un seul caractere, j'ai du mal à m'en sortir, par exemple, je veux extraire les 3 premiers champs du fichier dont on a stocké le resultat de la commande df.
Merci encore pour votre aide
HacHHacH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2006, 03h41   #2
Membre éclairé
 
Avatar de Jack_serious
 
Inscription : septembre 2005
Messages : 350
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2005
Messages : 350
Points : 376
Points : 376
Envoyer un message via MSN à Jack_serious
Une des solutions possibles, et celle que j'utilise toujours dans ce genre de cas, est l'utilisation de sed.

En effet sed permet d'utiliser des regexp. Donc de virer les espaces multiples par exemple.

Voic une regexp pour supprimer tous les espaces multiples:

Donc voici ce que ca donne en pratique :
  • [1] Creation d'un fichier remplit avec df :
Code :
1
2
3
4
5
6
7
8
 
jack@jacksrack:~$ df > test
jack@jacksrack:~$ cat test
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda1              7692876   2544312   4757788  35% /
tmpfs                   514236         0    514236   0% /dev/shm
tmpfs                   514236     12588    501648   3% /lib/modules/2.6.12-10-386/volatile
/dev/hda3             76896348   2061148  70928996   3% /home
  • [2] Supression des espaces multiples :
Code :
1
2
3
4
5
6
7
 
jack@jacksrack:~$ cat test | sed -r 's/ +/ /g'
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda1 7692876 2544312 4757788 35% /
tmpfs 514236 0 514236 0% /dev/shm
tmpfs 514236 12588 501648 3% /lib/modules/2.6.12-10-386/volatile
/dev/hda3 76896348 2061148 70928996 3% /home
  • [3] Utilisation de cut :
Code :
1
2
3
4
5
6
7
 
jack@jacksrack:~$ cat test | sed -r 's/ +/ /g' | cut -d' ' -f1,2,3
Filesystem 1K-blocks Used
/dev/hda1 7692876 2544312
tmpfs 514236 0
tmpfs 514236 12588
/dev/hda3 76896348 2061148
__________________
Don't worry, be serious.
La vie est courte. Prenez votre temps.

Jack.
Jack_serious 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 +2. Il est actuellement 23h06.


 
 
 
 
Partenaires

Hébergement Web