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

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.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *