find /tmp -printf "%s %p\n" |sort -n -r | head
Această comandă funcționează bine, dar care sunt %s %p
opțiuni utilizate aici? Există alte opțiuni care pot fi folosite?
Comentarii
- Aruncați o privire la find ' pagina de manual.
- posibil duplicat al Unde se găsește referința de formatare printf?
Răspuns
Care sunt opțiunile% s% p utilizate aici?
Din pagina manual :
% s Dimensiunea fișierului în octeți.
% p Numele fișierului.
Derulați în jos pe pagina respectivă dincolo de toate literele obișnuite pentru printf și citiți părțile care sunt prefixate cu un%.
% n Numărul de legături dure către fișier.
% p Fișier” snume.
% P Numele fișierului cu numele punctului de pornire sub care este a fost găsit eliminat.
% s Dimensiunea fișierului în octeți.
% t Ora ultimei modificări a fișierului în formatul returnat de funcția C `ctime”.
Există alte opțiuni care pot fi utilizate?
Există. Vedeți linkul către pagina de manual.
Comentarii
- @don_crissti Nu ' nu voi înțelege niciodată de ce oamenii preferați documentația web aleatorie decât documentația instalată pe sistemele lor (care are avantajul suplimentar de a fi de fapt relevantă pentru sistemul lor). link către o pagină web în loc de o ofertă din documentația instalată pe sistemul lor: ' nu se află pe o mașină Linux în momentul scrierii postării … Cu toate acestea, linkul ar trebui să indice (imo) către documentele oficiale (de aici și comentariul meu de mai sus, care, dintr-un motiv necunoscut, a fost șters de către moduri …). În afară de asta, sunt pe deplin de acord cu dvs.: OP ar trebui să consulte pagina manuală instalată pe sistemul lor .
- @don_crissti Sau sunt pe un server care nu are pagini de manual instalate destul de frecvent.
- Totuși, pagina mea manuală este de la FreeBSD. Cu excepția cazului în care am o mașină virtuală Linux la îndemână. Și am impresia că majoritatea întrebărilor se bazează pe GNU / Linux.
- Ar trebui să adaug, de asemenea, că, pe lângă ieșirea copleșitoare și adesea de neîncercat a paginilor de manual pentru utilizatorii relativ neexperimentați, în calitate de programator / utilizator puternic I ' de obicei caută soluții noi pe care paginile de manual nu le acoperă '. De exemplu (chiar acum), formatul specific de dată pentru ieșirea comenzii ' găsi '. Pagina manuală ' nu vă spune să puneți "% T " în fața fiecare variabilă – cel puțin nu că am găsit căutând asta în mod specific. Ai putea petrece toată ziua încercând să-ți dai seama. (Sau doar dați.) Întrucât o căutare pe Stack Exchange va da acest răspuns, explicat clar, în primul rezultat.
Răspuns
Barrett 2012 spune la pagina 74:
” -printf
string
tipărește șirul dat, care poate avea substituții aplicate acestuia în modul funcției de bibliotecă C printf()
. „
și recomandă, desigur, pagina de manual pentru lista completă de opțiuni. În timp ce lucruri precum find . -printf "%s %p\n"
sunt explicate, altele nu. @jim
a menționat utilizarea %T
. Eu personal folosesc un script cu o linie similară cu find . -printf "%T@ %p\n"
fără a putea vreodată să înțeleg ce este acel %T@
. Poate cineva să facă referire la o sursă explicativă pentru aceste opțiuni care nu se găsește în paginile de manual?
Comentarii
- Cine ' e acest tip Barrett?
- @Kusalananda, Daniel J. Barrett, autor al " Ghid de buzunar Linux " , citarea paginii se referă la a doua ediție. Înainte de a rula la bibliotecă, fiți avertizați că soluția la această întrebare nu este găsirea albinei acolo. În caz contrar, un ghid foarte bun.
- S-ar putea să lipsească din pagina de manual a căutării '. Ar trebui să vedeți o intrare acum specifică pentru% Tk, unde k este aceeași notație ca în% Ak.Care indică: @ = secunde de la 1 ianuarie 1970, 00:00 GMT, cu partea fracționată.
- @ Nicholi | mulțumesc, asta are sens. Uneori, în alte formate, uneori nu reușesc să sorteze lucrurile frumos.