Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1184 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Suppression lignes d'un fichier |commande bash si possible|

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Suppression lignes d'un fichier |commande bash si possible|

n°488580
djbobo27
Posté le 27-05-2004 à 17:36:44  profilanswer
 

Salut!
 
Je voudrais supprimer les lignes ne contenant pas d'adresses IP.
 
 
fichier.ori                        fichier.fin
 
127.0.0.0_dudu                     127.0.0.0_dudu
bob                                128.0.0.0_didi
128.0.0.0_didi
 
 
J'ai essayé avec sed  => sed "/[0-255-]/!d" fichier.ori > fichier.fin
 
ps: comment accéder directement aux messages (comme le mien) qui sont en attente de réponse
 
Merci

mood
Publicité
Posté le 27-05-2004 à 17:36:44  profilanswer
 

n°488597
bobuse
Posté le 27-05-2004 à 17:39:49  profilanswer
 

ps > drapeau bleu en haut à gauche de la liste des topics

n°488602
bobuse
Posté le 27-05-2004 à 17:40:38  profilanswer
 

man sed
quand même ! et puis google pour trouver des exemple si tu comprends pas !

n°489008
matafan
Posté le 28-05-2004 à 03:37:38  profilanswer
 

grep -v est probablement mieux adapté que sed.

n°489019
philou_a7
\_o< coin ! >o_/
Posté le 28-05-2004 à 08:07:04  profilanswer
 

c'est mon jour de bonté :p
 

Code :
  1. grep -E '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' fichiersource > fichierdest


 
bon, on pourrait faire plus sioux en verifiant que chaque groupement est dans l'intervalle 0-255 mais bon...
 
edit oups: oublié les balises "code"


Message édité par philou_a7 le 28-05-2004 à 08:07:52
n°489028
djbobo27
Posté le 28-05-2004 à 08:30:28  profilanswer
 

Merci à tous.
 
Merci pour ta bonté philou_a7

n°489084
francoisp
Posté le 28-05-2004 à 10:40:14  profilanswer
 

vi -c "g/bob/d|:wq" foo.bar


TEST(root/root)[;-)]/exploit/unix/bin>cd /tmp
TEST(root/root)[;-)]/tmp>cat > foo.bar
ffffff
bobo
dddd
TEST(root/root)[;-)]/tmp>vi -c "g/bobo/d|:wq" foo.bar
"foo.bar" 3 lines, 17 characters "foo.bar" 2 lines, 12 characters  
TEST(root/root)[;-)]/tmp>cat foo.bar
ffffff
dddd
TEST(root/root)[;-)]/tmp>


 
VI RULES 4 EVER
 
ou pour tout virer toutes les lignes ne contenant pas d'adresse
vi -c "g!/1/d|:wq" foo.bar
elimine toute les ligne ou 1 n'est pas present si ta plage d'adresse est 127 ou 2 si ta plage d'adresse est comprise entre 200.0.0.0 et broadcast etc...
 
plus simple je vois pas...


Message édité par francoisp le 28-05-2004 à 10:54:52

---------------
If everything else failed then read the instructions
n°493949
guiltyxx
Posté le 03-06-2004 à 12:37:56  profilanswer
 

Et pour effacer qu'un seul mot sur une ligne?
 
francoisp tes 2 commandes sont similaires, ca efface la ligne entiere :
vi -c "g!/1/d|:wq" foo.bar
vi -c "g/bobo/d|:wq" foo.bar

n°493956
francoisp
Posté le 03-06-2004 à 12:51:19  profilanswer
 

pas de la meme façon et pas pour les meme causes voir mon texte


---------------
If everything else failed then read the instructions

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Suppression lignes d'un fichier |commande bash si possible|

 

Sujets relatifs
Suppression lignes dont le premier champ est vide d'un fichier[MDK10] Kopete transfert de fichier ( incoming )
Fichier Binaire[Heartbeat] Est ce possible ?
[bash] Comment dupliquer une redirection ?Red Hat bootable sur un disk dur amovible USB2... Possible ?
détection de fichierLancer une commande ds 1 script Novell
Plus de sujets relatifs à : Suppression lignes d'un fichier |commande bash si possible|


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR