![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!! |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| verwijderen van een bestand na 30 dagen | dr46014 | Programmeren en Shell Scripting | 7 | 11-09-2007 09:06 |
| Vind toegankelijk bestand in het verleden 1 of 2 minuten, en gooi mail. | varungupta | UNIX for Advanced & Expert Gebruikers | 2 | 09-12-2007 04:07 |
| Zoek het bestand van 15 dagen geleden | Youngblood | Programmeren en Shell Scripting | 2 | 03-03-2007 07:28 PM |
| bestand is gemaakt voor 15 dagen geleden. | Youngblood | UNIX voor Dummies Questions & Answers | 1 | 03-02-2007 01:23 PM |
| ls laatste 4 dagen of opgeven dagen van de bestanden in de directory | happyv | Programmeren en Shell Scripting | 3 | 01-22-2007 07:16 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
het creëren van een CSV-bestand voor de afgelopen 7 dagen
Ik heb een eis die selecteert u de bestanden met een bepaalde naamgevingsconventie die heb gemaakt in de afgelopen 7 dagen in een specifieke directory.Lets zeggen dat de map / data / XYZ en de bestandsnamen volg de onderstaande nomenclatuur zoals Daily_File *. txt
Ik moet om een CSV-bestand met daarin de naam van het bestand, registreert tellen van het bestand en de grootte (bytes of KB of MB of GB vermeld samen met de waarde). Kan iemand me helpen alstublieft schrijven van dit script. |
|
||||
|
Als door "record count" bedoel je "lijn rekenen", lees de wc commando's manual page.
Code:
wc /data/XYZ/Daily_File*.txt | nawk -v OFS=, '{ print $4, $1, $3 }'
|
|
||||
|
De lijn rekenen.
Zo wc-l / data / XYZ / Daily_File *. txt | nawk-v OFS \u003d, '(print $ 4, $ 3, $ 1)' Hoe zal het vinden van de filesize.Usually de grootte van het bestand wordt gepresenteerd door K of G of M in Unix en alleen de numerieke waarde in geval van bytes.I wilt hebben KB MB GB Bytes in mijn CSV-bestand. Zoals 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, 112220 Bytes |
|
||||
|
Haal de -l uit de wc commando en je krijgt byte (en Word) telt voor elk bestand ook. (Waarom heeft u het in de eerste plaats?) Enkele eenvoudige post-processing te delen door 1000 of 1024 en de verhoging van de unit is eenvoudig toe te voegen aan het awk script. (Wil je MB of MiB, dus 1000 of 1024? Zie 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") }'
Als ingenieursbureau aanbeveling, zou ik nog voorstellen dat je de rauwe nummers in het CSV-bestand, en laat de opstelling van de presentatie als KiB of wat dan ook aan de consument van dat bestand. Laatst gewijzigd door tijdperk; op 08.23.2008 03:12 PM.. Reden: Link naar Wikipedia |
|
||||
|
Bedankt voor de code ..
Maar de eerste vereiste was om de bestanden die in de afgelopen 7 days.We moeten Chek de datum van creatie bestand voordat ze in het CSV-bestand. Kun je laat het me weten hoe deze code kan worden gewijzigd om de bovengenoemde eis. |
![]() |
| Bladwijzers |
| Labels |
| csv, bestandsgrootte |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|