The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Exploitation Unix Arithmatic question, datatype question thambi De programmation et de script Shell 23 02-19-2008 07:19 AM
specifing gamme .... Zedex UNIX for Advanced & Expert Users 1 10-19-2007 10:07 AM
Getting 'hors de portée' quand le partitionnement pmichner UNIX pour les nuls Questions et réponses 1 09-30-2006 02:51 AM
Rechercher une chaîne de caractères dans une fourchette! azmathshaikh De programmation et de script Shell 0 05-01-2005 04:54 AM
SCO Unix 5.0.6 Hors de portée josramon UNIX pour les nuls Questions et réponses 5 02-21-2003 02:06 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 06-05-2008
Wrathe Wrathe is offline
Registered User
  
 

Date d'inscription: juin 2008
Messages: 6
Sed Range Issue

OK, donc pour un grand aperçu de ce que je suis en train de faire:

J'ai 2 fichiers qui sont le plus souvent similaires.
Le format de fichier est:

[descriptor1]
données
données
données
données

[descriptor2]
données
données
données
données

[descriptor3]
données
données

[descriptor4]
données
données

OK, donc ce que j'ai besoin de faire est de prendre toutes les données à partir de [descriptor2] et [descriptor3] fichier1 de sections, les sections de supprimer, comme file2, puis ajouter le flux à partir de fichier1 au bon endroit dans file2. Fun, right?

Eh bien, je suis nouveau w / sed, Mais qui semble la meilleure façon de le faire (me corriger si je me trompe). J'ai du code qui fonctionne atm, mais c'est de me donner la ligne [descriptor4] car c'est la fin de la plage que j'utilise et je ne veux pas que d'inclure dans la section supprimer, comment puis-je pas faire cela?

sed '/ \ [descriptor2 /, / \ [descriptor4 /! d' file1

En gros, je veux être à la sortie:

[descriptor2]
données
données
données
données

[descriptor3]
données
données

Et c'est de me donner tout ce qui, en plus d'une [descriptor4] que c'est là que se termine la série, mais je ne suis pas sûr de quelle autre manière de le définir.

Merci pour tout, vous pouvez jeter la lumière!
  #2 (permalink)  
Old 06-05-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4346
Essayez ceci:


Code:
awk ' 
FNR==NR && /descriptor2/{f=1} 
FNR==NR && /descriptor4/{f=0} 
FNR==NR && f{arr[++i]=$0}
FNR==NR{next}
/descriptor2/{for(j=1;j<=i;j++){print arr[j]};f=1} 
/descriptor4/{f=0} 
!f{print}
' "file1" "file2"

Observe
  #3 (permalink)  
Old 06-17-2008
freelong freelong is offline
Registered User
  
 

Date d'inscription: avril 2008
Posts: 38

Code:
sed -e '/\[descriptor2/,/\[descriptor4/!d' -e '/\[descriptor4/d' file1

Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 11:17 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0