![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen! |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| fjerne en fil efter 30 dage | dr46014 | Shell Programmering og Scripting | 7 | 11-09-2007 09:06 AM |
| Få adgang til filen i fortiden 1 eller 2 minutter, og smid mail. | varungupta | UNIX for Advanced & Ekspertsøgning Brugere | 2 | 09-12-2007 04:07 AM |
| Find filen fra 15 dage siden | Youngblood | Shell Programmering og Scripting | 2 | 03-03-2007 07:28 PM |
| filen blev oprettet inden for 15 dage siden. | Youngblood | UNIX for dummyer Spørgsmål & svar | 1 | 03-02-2007 01:23 PM |
| ls seneste 4 dage eller angive dage af filerne i mappen | happyv | Shell Programmering og Scripting | 3 | 01-22-2007 07:16 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
skabe en csv-fil for sidste 7 dage
Jeg har et krav, der vil vælge de filer med et bestemt navngivningskonvention der fik skabt i de seneste 7 dage i en bestemt directory.Lets sige biblioteket er / data / XYZ og fil navne følger nedenfor Nomenklatur gerne Daily_File *. txt
Jeg behøver kun at oprette en csv-fil, som vil indeholde filnavnet rekordere regne på filen og dens størrelse (bytes eller KB eller MB eller GB nævnes sammen med den værdi). Kan nogen venligst hjælpe mig med at skrive dette script. |
|
||||
|
Hvis med "record count" du "Line count", kan du læse de wc kommando's manual side.
Code:
wc /data/XYZ/Daily_File*.txt | nawk -v OFS=, '{ print $4, $1, $3 }'
|
|
||||
|
Sin linje tæller.
Så wc-l / data / XYZ / Daily_File *. txt | nawk-v OFS \u003d '(print $ 4, $ 3, $ 1)' Hvordan det vil finde den filesize.Usually filstørrelsen er forelagt af K eller G eller M i UNIX og kun den numeriske værdi i tilfælde af bytes.I vil have KB MB GB Bytes i min CSV-fil. Lide Daily_File_Students.txt, 1500,10 MB Daily_File_Teachers.txt, 1100,11 MB Daily_File_Staff.txt, 50,10 KB Daily_File_Fees.txt, 112,220 Bytes |
|
||||
|
Tag ud -l fra wc kommandoen, og du får byte (og ordet) tæller for hver fil som godt. (Hvorfor har du tilføje det i første omgang?) Nogle enkle efter forarbejdning at dividere med 1000 eller 1024 og stigende enheden er let at tilføje til awk script. (Ønsker du MB eller MIB, dvs 1000 eller 1024? Se http://en.wikipedia.org/wiki/Mebibyte)
Code:
wc /data/XYZ/Daily_File*.txt |
nawk -v OFS=, '{ bytes=$3; suff="KMGT"; i=0;
while (bytes > 1000) { bytes = int(bytes/1000); i++ }
print $4, $1, bytes (i > 0 ? (" " substr(suff,i,1) "B") : " bytes") }'
Som en ingeniørvirksomhed anbefaling, vil jeg alligevel foreslå, at du lægger den rå numre i CSV-filen, og overlade placeringen af præsentationen som KiB eller hvad de forbruger af den pågældende fil. Sidst redigeret af æra; 08-23-2008 på 03:12 PM.. Årsag: Link til Wikipedia |
|
||||
|
Tak for koden ..
Men det oprindelige krav var at få filer oprettet i sidste 7 days.We behovet for at Chek datoen for filen oprettes, før du sender dem i CSV-filen. Kan du være venlig at lade mig vide, hvordan denne kode kan modificeres til at optage de ovennævnte krav. |
![]() |
| Bogmærker |
| Tags |
| csv, Filstørrelse |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|