![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Shell script til at søge efter tekst i en fil og kopiere filen | imeadows | UNIX for dummyer Spørgsmål & svar | 9 | 11-12-2008 09:12 PM |
| shell script for at redigere indholdet af en fil | tiger99 | Shell Programmering og Scripting | 3 | 01-31-2008 04:43 AM |
| Hastende: udvælge unikke konkrete indhold i en fil ved hjælp af shell script | jisha | Shell Programmering og Scripting | 2 | 01-08-2008 08:45 AM |
| Søg efter indhold i mange fil og print, at filen med shell script | cdfd123 | Shell Programmering og Scripting | 3 | 10-07-2007 11:17 PM |
| Korn Shell Script - Læs File & Søg på værdier | run_unx_novice | Shell Programmering og Scripting | 2 | 06-15-2005 08:20 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
read-p "hvad dato?" vardate
echo $ vardate awk-vd \u003d "$ vardate" '$ 0 ~ d (print)' weblog Jeg synes, det er en, der virkelig fungerer sin produktion mig den rette linje, og alt ... men hver gang jeg skal gå og ændre filnavnet for at finde, hvad jeg ønsker ... |
|
||||
|
Jeg har for nylig reageret på et lignende spørgsmål om jeres her: Shell script til at søge efter tekst i en fil og kopiere filen Code:
#!/bin/sh case $# in 0|1) echo "syntax: $0 date files ..." >&2; exit 2;; esac date=$1 shift awk -v d="$date" '$0 ~ d' "$@" Dette forventer den dato, som den første parameter, og en liste over filer, som de resterende parametre. Disse er ført igennem til awk i "$ @" efter det første argument (dato) er blevet flyttet ud og videregives til awk script som en variabel. Jeg fandt ud af (print) fordi det er den standard handling, og dette er sandsynligvis mindre læsbar, så hvis du ikke bruger awk meget, kan det være mere sikkert at forlade det i. Selvfølgelig er dette simpelt script, der svarer nøjagtigt til grep uden nogen optioner eller andre klokker og fløjter. Senest redigeret af æra 04-20-2008 kl 01:45 PM.. Årsag: Fix tilfælde erklæring til at acceptere mere end én fil, duh |
|
||||
|
thanx for besvarelse era!
men jeg er bange for dette ikke virker. Jeg tror, at i scriptet, at u skrive det kontrollere troede filer dato .. hvad jeg ønsker, er at kontrollere, tænkte filer tekst indhold ... Jeg har den trafik på min hjemmeside ... i en mappe med navnet trafik ... den trafik bibliotek har filer med hver webside ip at besøge min hjemmeside! så jeg vil scriptet til at være i stand til output mig IPS, at besøge min hjemmeside den dato, at jeg spørger ... |
|
||||
|
Du tror måske forkert. Prøv det. Som jeg allerede skrev, dette svarer til dap dato fil For eksempel, dap 2008/04/20 traffic/127.0.0.1 vil søge efter 2008/04/20 i filen traffic/127.0.0.1. Måske dine logfiler bruge en anden dato format, men du får den ide. PS. Enklere stadig awk script, hvis din date format ikke har flænger i den: Code:
#!/bin/sh case $# in 0|1) echo "syntax: $0 date files ..." >&2; exit 2;; esac date=$1 shift awk "/$date/" "$@" Senest redigeret af æra 04-20-2008 kl 03:45 PM.. Årsag: Afklaring (?) .... dap .... F.eks .... |
|
||||
|
jeg prøve det! og det virker ikke! dets få mig en syntaksfejl .. Jeg brugte det sådan Code:
#!/bin/sh read -p "what date" vardate echo $vardate case $# in 0|1) echo "syntax: $0 date files ..." >&2; exit 2;; esac date=$1 shift awk "/$date/" "$@" er jeg galt et eller andet sted? mine logfiler tekst er i dette format: 162.12.56.7 Ti 8 februar 21:02:35 GMT 2008 |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|