find /tmp -printf "%s %p\n" |sort -n -r | head 

Denne kommandoen fungerer fint, men hva er %s %p alternativene som brukes her? Er det noen andre alternativer som kan brukes?

Kommentarer

Svar

Hva er% s% p-alternativene som brukes her?

Fra mannssiden :

% s Filens størrelse i byte.

% p Filens navn.

Bla ned på siden utover alle vanlige bokstaver for printf og les delene som kommer foran et%.

% n Antall harde lenker til filen.

% p File» snavn.

% P Filnavn med navnet på startpunktet det ligger under ble funnet fjernet.

% s Filstørrelse i byte.

% t Filens siste modifikasjonstid i formatet returnert av C `ctime-funksjonen.

Er det noen andre alternativer som kan brukes?

Det er. Se lenken til hjemmesiden.

Kommentarer

  • @don_crissti Jeg ' Jeg vil aldri forstå hvorfor folk foretrekker tilfeldig nettdokumentasjon framfor dokumentasjonen som er installert på systemene deres (som har den ekstra fordelen av å faktisk være relevant for systemet deres).
  • @Kusalananda – Vel, jeg kan tenke på et scenario der folk vil inkludere et lenke til en webside i stedet for et sitat fra dokumentasjonen som er installert på systemet deres: de ' er ikke på en linux-maskin på tidspunktet for innleggets skriving … Imidlertid er lenken bør peke (imo) til de offisielle dokumentene (derav kommentaren min ovenfor, som av ukjent grunn ble slettet av modene …). Bortsett fra dette, er jeg helt enig med deg: OP bør se den manuelle siden installert på deres system.
  • @don_crissti Eller de er på en server som ikke har noen manpages installert som er ganske hyppig.
  • Min manuelle side er imidlertid fra FreeBSD. Med mindre jeg tilfeldigvis har en Linux-VM innen rekkevidde. Og jeg har inntrykk av at de fleste spørsmålene er GNU / Linux-baserte.
  • Jeg bør også legge til at, i tillegg til overveldende og ofte ubeskrivelig produksjon av man-sider for relativt uerfarne brukere, som programmerer / strømbruker jeg ' Jeg leter vanligvis etter nye løsninger som man-sider ikke ' t dekker. For eksempel (akkurat nå), spesifikt datoformat for ' finn ' kommandoutgang. Mannsiden forteller deg ikke ' at du skal sette "% T " foran hver variabel – i det minste ikke det jeg selv så etter det spesifikt. Du kan bruke hele dagen på å finne ut av det. (Eller bare gi.) Mens et søk på Stack Exchange vil gi det svaret, tydelig forklart, i det første resultatet.

Svar

Barrett 2012 sier på side 74:

» -printf string skriv ut den gitte strengen, som kan ha substitusjoner brukt på samme måte som C-biblioteksfunksjonen printf(). «

og anbefaler selvfølgelig manpage for den komplette listen over alternativer. Mens ting som find . -printf "%s %p\n" blir forklart, ikke andre. @jim har nevnt bruken av %T. Jeg bruker personlig et skript med en linje som ligner på find . -printf "%T@ %p\n" uten å kunne forstå hva den %T@ er. Kan noen referere til en forklarende kilde for disse alternativene som ikke finnes på manpages?

Kommentarer

  • Hvem ' er denne Barrett-fyren?
  • @Kusalananda, Daniel J. Barrett, forfatter av " Linux Pocket Guide " , refererer siden til den andre utgaven. Før du løper til biblioteket, vær advart om at løsningen på dette spørsmålet ikke er å finne der inne. Ellers en veldig god guide.
  • Kan ha manglet fra å finne ' s hjemmeside tilbake på dagen. Du bør se en oppføring nå spesielt for% Tk, der k er den samme notasjonen som brukes i% Ak.Som sier: @ = sekunder siden 1. januar 1970, 00:00 GMT, med brøkdel.
  • @Nicholi | takk, det gir mening. Tider i andre formater klarer ikke noen ganger å sortere ting pent.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *