![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| CC Solution behövde snabbt | satty | UNIX for Dummies Frågor & Svar | 5 | 05-29-2008 07:04 |
| Hjälp behövs snarast | nabmufti | Shell-programmering och Skript | 11 | 02-11-2008 08:17 |
| Konfigurera profil ....... Behöver Hjälp Snabbt | reachtokhan | UNIX för avancerade & Expertanvändare | 13 | 11-06-2007 03:06 |
| Behöver information snabbt. | sumit_krishan | UNIX for Dummies Frågor & Svar | 3 | 06-08-2005 06:13 |
| länken och unlink snabbt ... | umonk | UNIX för avancerade & Expertanvändare | 1 | 12-17-2001 12:06 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Behöver hjälp snarast
Hej till alla,
I ma flitig besökare av denna sajt men det här är min första tråd. Även om jag har försökt men jag skränande finna lösningen. ![]() Jag har många filer med filtillägget. Fil., Som med viss definiera uttalande it.The filer consits enligt följande Ex: -- abc.file `definiera ADCONV0 TB_DIGRFAFE.digrf0.udigrf_top.uad0_wrap `definiera APLL TB_DIGRFAFE.digrf0.udigrf_top.uapl_wrap `definiera DPLL TB_DIGRFAFE.digrf0.udigrf_top.udpl_wrap bcd.file `definiera APLL TB_DIGRFAFE.digrf0.udigrf_top.uapl_wrap `definiera DPLL TB_DIGRFAFE.digrf0.udigrf_top.udpl_wrap `definiera DACONV0 TB_DIGRFAFE.digrf0.udigrf_top.uda0_wrap `definiera TOP TB_DIGRFAFE.digrf0 `definiera SCI TB_DIGRFAFE.digrf0.udigrf_top.usci_wrap Produktionen skall Path of FILE. / Abc.file samma samma samma Path of FILE. / Bcd.file samma samma samma `definiera TOP TB_DIGRFAFE.digrf0 `definiera SCI TB_DIGRFAFE.digrf0.udigrf_top.usci_wrap De två sista raderna produktionen eftersom de inte definieras i mitt shell script ... Mitt program är lik nedan #! / bin / sh för temp i "hitta. -name "*. file '` # Temp lagrar all. Filnamnstillägg göra echo "Path of FILE $ temp" nawk '\ BEGIN ( # uppslagstabellen defination ref_arr [ "ADCONV0"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.uad0_wrap" ref_arr [ "APLL"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.uapl_wrap" ref_arr [ "DPLL"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.udpl_wrap" ref_arr [ "DACONV0"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.uda0_wrap" ) / ^ `definiera / ( str \u003d $ 2 val \u003d $ 3 för (artikel i ref_arr) ( if (str \u003d\u003d post) ( if (ref_arr [str] \u003d\u003d val) print "samma" annan print $ 0 ) ) ) '$ Temp gjord Nu jag börjar få resultat på följande Path of FILE. / X.file samma samma samma Path of FILE. / Y.file samma samma samma Path of FILE. / Abc.file samma `definiera DACONV0 cat.grep.cut Jag vet att det finns vissa logiska misstag i mitt for-loop, men jag tänker inte kunna fånga den. -------------------------------------------------- ----------------------- Vänligen pls pls hjälp ......... Prady Senast redigerad av user_prady; 09-03-2007 at 09:36.. |
|
||||
|
Tala om för oss vad det är du försöker uppnå
Om ni kan ge oss ett smakprov på vad du vill att din kod för att åstadkomma den feedback du ger det jag tror att det skulle vara lättare för någon (inte nödvändigtvis att jag skyndar mig att tillägga) för att hjälpa dig.
|
|
||||
|
Tack för ditt svar ajcannon.Yes det verkar enkelt men jag m screwed.
Indatafiler (. filer) abc.file `definiera ADCONV0 TB_DIGRFAFE.digrf0.udigrf_top.uad0_wrap `definiera APLL TB_DIGRFAFE.digrf0.udigrf_top.uapl_wrap `definiera DPLL TB_DIGRFAFE.digrf0.udigrf_top.udpl_wrap bcd.file `definiera APLL TB_DIGRFAFE.digrf0.udigrf_top.uapl_wrap `definiera DPLL TB_DIGRFAFE.digrf0.udigrf_top.udpl_wrap `definiera DACONV0 TB_DIGRFAFE.digrf0.udigrf_top.uda0_wrap `definiera TOP TB_DIGRFAFE.digrf0 `definiera SCI TB_DIGRFAFE.digrf0.udigrf_top.usci_wrap x.file `definiera DPLL TB_DIGRFAFE.digrf0.udigrf_top.udpl_wrap `definiera DACONV0 cat.grep.cut MÅL Path of FILE. / Abc.file samma samma samma Path of FILE. / Bcd.file samma samma samma `definiera TOP TB_DIGRFAFE.digrf0 `definiera SCI TB_DIGRFAFE.digrf0.udigrf_top.usci_wrap Path of FILE. / X.file `definiera DACONV0 cat.grep.cut Produktionen av abc.file är på tre rader skrivs som "samma"Som alla 3 rader matchade som definieras i mitt uppslagstabell / hash tabellen i mitt shell script. De sista 2 uttalanden i produktion. / Bcd.file eftersom de inte är definierade i mitt Look Up Table i mitt shell script. och samma för. / x.file. Den första raden matcher men den andra linjen inte stämmer så det skrivs hela raden. Senast redigerad av user_prady; 09-03-2007 at 09:21.. |
|
||||
|
Tack alla Jag fick solution.It är följande
#! / bin / sh för temp i "hitta. -name "*. fil" " göra echo "Path of FILE $ temp" nawk '\ BEGIN ( ref_arr [ "ADCONV0"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.uad0_wrap" ref_arr [ "APLL"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.uapl_wrap" ref_arr [ "DPLL"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.udpl_wrap" ref_arr [ "DACONV0"] \u003d "TB_DIGRFAFE.digrf0.udigrf_top.uda0_wrap" ) / ^ [\ T] * `definiera / ( str \u003d $ 2 val \u003d $ 3 flag \u003d 0 för (artikel i ref_arr) ( if (str \u003d\u003d post) ( if (ref_arr [$ 2] \u003d\u003d val) ( print "samma" flag \u003d 1 ) ) ) if (flag \u003d\u003d 0) ( print $ 0 ) # Print ("*********"$ 2 "" $ 3) ) '$ Temp gjord |