Hoe UNIX shell C te gebruiken om bestand te verwerken?

T

tony_taoyh

Guest
Hallo, Nu heb ik een bestand als volgt: - abcd EFGH - mm gg - ddd 123.456 abcdefgh - hier is er enige witruimte ... gggg fffffff (File eind hier) ************************** Ik gebruik de volgende UNIX C shell om die lijn te beginnen met uit te sluiten '-' . #! / Bin / csh foreach lijn (`cat file.txt`) if ($ line = ~ "--") echo $ lijn endif end Het script altijd niet aan het werk ... Kun je me helpen? Omdat voor de "foreach" in CSHELL, is het element in de lijst splitsen via witruimte in plaats van "change line", dus er is een aantal strings als "abcd", "EFGH" zal worden toegewezen aan $ lijn. Elke methode om dit probleem op te lossen? Heel erg bedankt.
 
In dergelijke gevallen beter schrijf je perl script. csh heeft een beperkte file handling en regelmatige expession mogelijkheden.
 
Of gebruik sed als u dont perl sed ed syntax / Bingo maakt gebruik van
 
Ja, ik kan gebruiken Perl, want in Perl, het heeft de mogelijkheid om de lijn proces. Maar ik heb liever UNIX C shell te gebruiken. Want het is meer vertrouwd met andere design engineer. Het lijkt erop dat minder jongens weten hoe ze perl te begrijpen. Heel erg bedankt. [Size = 2] [color = # 999999] Toegevoegd na 1 uur 43 minuten: [/color] [/size] Ik heb geprobeerd om _ gebruiken om alle witruimte vervangen in de file, nu het kan werken. Heel erg bedankt. Met vriendelijke groet, Tony Tao
 
hi tony_taoyh De meeste engineers verificatie en validatie-ingenieurs gebruiken Perl om te gaan met de bestanden. Dit is de basisvereiste. Veel succes
 
Hi, Alex, ik denk het niet. Omdat veel Engineers ik weet geen gebruik maken van Perl. Ik denk alleen dat VHDL en Verilog nodig is. Perl is optioneel. Ik gebruik gewoon Perl om mijn leven te vergemakkelijken in het ontwerp en de verificatie. Bedankt. Met vriendelijke groet, Tony Tao
 
Hoi tony_taoyh, Als u interessant in deze vraag, kunt u de positie-informatie van de verificatie en validatie zoeken naar werk van de beroemde IC-design bedrijven, zelfs IC-ontwerp baan. Verilog / VHDL is noodzakelijk voor het ontwerp, maar dit is onmogelijk om een ​​complex ontwerp afwerking alleen met Verilog / VHDL. Ter verificatie, Perl, PLI, Assertion taal, en ga zo maar door zijn belangrijk. Good Luck.
 
U kunt gebruik maken sed voor deze job. dit in sed commando file /^--/ {d} beroepen sed-f command.sed. Hiermee verwijdert u alle regels die beginnen met -
 
waarom ga je niet gebruiken grep-v "-" - dit geeft je alle regels, andere dan die met een "-" te gebruiken'^--' als u niet wilt lijnen _starting_ met - === bullebak
 
Hi, K12345, Thanks a lot. U advies is zo goed ... dan kan ik proberen te gebruiken: forech lijn ('grep-v - bestandsnaam.txt') in plaats van: foreach lijn ('kat bestandsnaam.txt'), dit is een goed advies. Heel erg bedankt. Met vriendelijke groet, Tony Tao
 
Hallo daar, zoals gepubliceerd door veel mensen, er zijn een heleboel manieren om uw werk gedaan, shell, sed, awk, grep en perl. Echter, Perl is de beste keuze voor dit soort taken. Wanneer je een grote file handle, iets wetenswaardigs extract, of wijzigingen en / of iets toevoegen, Perl is No.1 kandidaat. Ik heb ooit geschreven een taal parsor met behulp van Perl. Het is echt geweldig instrument. Ik sterk aanbevelen het. Groet, rprince006
 

Welcome to EDABoard.com

Sponsor

Back
Top