![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
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! |
|
||||
|
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 |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|