![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| wijzigen van een bepaald patroon vanaf tweede regel van het zoekpatroon | Imas | UNIX voor Dummies Questions & Answers | 1 | 10-12-2008 02:19 PM |
| wijzigen van een bepaald patroon vanaf tweede regel van het zoekpatroon | Imas | UNIX voor Dummies Questions & Answers | 2 | 10-12-2008 12:30 |
| Hoe kunt u records in een bestand matching een patroon? | mode09 | UNIX voor Dummies Questions & Answers | 2 | 07-15-2008 02:53 PM |
| uitsluiten kolommen met een bijpassende lijn patroon | greptastic | UNIX voor Dummies Questions & Answers | 5 | 06-30-2008 04:32 |
| Multile Patroon Zoeken in dezelfde lijn en verwijderen | sasree76 | Programmeren en Shell Scripting | 2 | 04-16-2008 03:12 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
commentaar / verwijderen van een bepaald patroon vanaf tweede regel van de matching patroon
Hoi,
Ik heb bestand 1.txt met volgende vermeldingen zoals: 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 ** ** ** In bestand 2.txt Ik heb de volgende vermeldingen zoals: 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 0789456 | 332211 | 10.20.30.40 | 078945633 1234567 | 225522 | 10.20.30.50 | 123456733 0321654 | 999999 | 10.20.30.40 | 032165433 0456123 | 777899 | 10.20.30.40 | 045612333 *** *** *** Ik wil nemen het IP-adres kolom 1.txt en zoek het in 2.txt en de opmerking van de dubbele vermelding van de tweede gematched patroon. dat wil zeggen, ik moet de volgende output in 2.txt hebben getoond: 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 # 0789456 | 332211 | 10.20.30.40 | 078945633 # 1234567 | 225522 | 10.20.30.50 | 123456733 # 0321654 | 999999 | 10.20.30.40 | 032165433 # 0456123 | 777899 | 10.20.30.40 | 045612333 *** *** *** Hieronder is het script schreef ik, maar het zal reageren alle dubbele vermeldingen: for i in `cat 1.txt | cut-d" | "-f3` doen cat 2.txt |sed "s / ^ \ (.* \ | $ i \ |.*)/#/ g"> tmp.txt mv tmp.txt 2.txt gedaan Kan iemand gids me laten zien hoe de eerste Duplicate entry ongerept en commentaar achter te laten / verwijderen van de tweede Duplicate entry en zo verder. ![]() Gelieve niet sluiten deze draad als je niet het antwoord weten. Bedankt -Imas |
|
||||
|
Ja je veronderstelling juist is en dit is een echte wereld probleem
Wat iam proberen te doen is commentaar van de dubbele IP's gevonden in het tekstbestand negeren van het eerste voorkomen als geldig IP voor Mac en een geldig vanaf de tweede voorval verder commentaar de dubbele IP's aan de start van de lijn. 1.txt bestand met volgende vermeldingen zoals: 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 ** ** ** bestand 2.txt met volgende vermeldingen zoals: 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 0789456 | 332211 | 10.20.30.40 | 078945633 1234567 | 225522 | 10.20.30.50 | 123456733 0321654 | 999999 | 10.20.30.40 | 032165433 0456123 | 777899 | 10.20.30.40 | 045612333 *** *** *** Ik moet de volgende output in 2.txt hebben getoond: 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 # 0789456 | 332211 | 10.20.30.40 | 078945633 # 1234567 | 225522 | 10.20.30.50 | 123456733 # 0321654 | 999999 | 10.20.30.40 | 032165433 # 0456123 | 777899 | 10.20.30.40 | 045612333 *** *** *** De juiste script ik heb geschreven is for i in `cat 1.txt | cut-d" | "-f3` doen cat 2.txt |sed "s / ^ \ (.* \ | $ i \ |.*)/# \ 1 / g"> tmp.txt mv tmp.txt 2.txt gedaan Maar de bovenstaande script zal alle opmerkingen van de gebeurtenis. Uw hulp is welkom. Bedankt -Imas |
|
||||
|
Hi Summer_Cherry,
Miljoen dank dat u mij het stukje code dat zal reageren vanaf tweede vermelding van gematched patroon van het vertrekpunt van de lijn. intelsol2> cat 1.txt 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 intelsol2> cat 2.txt 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 0789456 | 332211 | 10.20.30.40 | 078945633 1234567 | 225522 | 10.20.30.50 | 123456733 0321654 | 999999 | 10.20.30.40 | 032165433 0456123 | 777899 | 10.20.30.40 | 045612333 intelsol2> nawk 'BEGIN (FS \u003d"|"} ( if (NR \u003d\u003d FNR) een [$ 3] \u003d 0 anders ( een [$ 3] + + if (a [$ 3]> \u003d 2) print "#" $ 0 anders print $ 0 ) ) '1.txt 2.txt> 3.txt intelsol2> cat 3.txt 0152364 | 134444 | 10.20.30.40 | 015236433 0233654 | 122555 | 10.20.30.50 | 023365433 # 0789456 | 332211 | 10.20.30.40 | 078945633 # 1234567 | 225522 | 10.20.30.50 | 123456733 # 0321654 | 999999 | 10.20.30.40 | 032165433 # 0456123 | 777899 | 10.20.30.40 | 045612333 intelsol2> Mede dankzij veel voor unix forum jongens "je ppl rock!!" FYI, ik probeerde om te zoeken naar deze code, aangezien alle in het weekend en ging door sed handleiding "http://www.grymoire.com/Unix/Sed. html "sub onderwerp (/ 1, / 2, enz. specificeren welke gebeurtenis) is echter ongelukkig was om te proberen de trial and error methode. Ook de zomer Kunt u uitleggen me de code die u hebt zo geschreven dat ik het kan begrijpen op een betere manier. Nogmaals thanks a lot en u kunt sluiten deze draad. Bedankt -Imas |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|