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

Denne kommando fungerer fint, men hvad er %s %p indstillinger, der bruges her? Er der andre muligheder, der kan bruges?

Kommentarer

Svar

Hvilke% s% p-indstillinger bruges her?

Fra mandsiden :

% s Filens størrelse i byte.

% p Filens navn.

Rul ned på siden ud over alle de almindelige bogstaver for printf og læs de dele, der kommer foran et%.

% n Antal hårde links til fil.

% p Fil” snavn.

% P Filens navn med navnet på startpunktet, hvorunder det blev fundet fjernet.

% s Filstørrelse i byte.

% t Filens sidste ændringstid i det format, der returneres af C `ctime” -funktionen.

Er der andre muligheder, der kan bruges?

Der er. Se linket til manpage.

Kommentarer

  • @don_crissti I ' Jeg forstår aldrig, hvorfor folk foretrækker tilfældig webdokumentation frem for den dokumentation, der er installeret på deres systemer (hvilket har den ekstra fordel, at den faktisk er relevant for deres system).
  • @Kusalananda – Nå, jeg kan tænke på et scenario, hvor folk vil inkludere en link til en webside i stedet for et citat fra dokumentationen, der er installeret på deres system: de ' er ikke på en linux-maskine på tidspunktet for skrivningen af indlægget … Imidlertid linket skal pege (imo) på de officielle dokumenter (dermed min kommentar ovenfor, som af en ukendt grund blev slettet af moderne …). Bortset fra dette er jeg helt enig med dig: OP skal se den manuelle side installeret på deres system.
  • @don_crissti Eller de er på en server, der ikke har installeret nogen manpages, som er ret hyppig.
  • Min manualside er dog fra FreeBSD. Medmindre jeg tilfældigvis har en Linux-VM inden for rækkevidde. Og jeg har det indtryk, at de fleste spørgsmål er GNU / Linux-baserede.
  • Jeg skal også tilføje, at der ud over overvældende og ofte ubeskrivelig produktion af mandsider til relativt uerfarne brugere, som programmør / strømbruger I ' Jeg leder normalt efter nye løsninger, som man-sider ikke ' t dækker. For eksempel (lige nu) finder specifikt datoformat til ' find ' kommandooutput. Mandsiden fortæller dig ikke ' at sætte "% T " foran hver variabel – i det mindste ikke, at jeg selv fandt ud af, at jeg specifikt søgte efter det. Du kan bruge hele dagen på at finde ud af det. (Eller bare giv.) Mens en søgning på Stack Exchange giver det svar, der er klart forklaret, i det første resultat.

Svar

Barrett 2012 siger på side 74:

-printf string udskriv den givne streng, som kan have substitutioner anvendt på den måde som C-biblioteksfunktionen printf(). “

og anbefaler naturligvis manpage for den fulde liste over muligheder. Mens ting som find . -printf "%s %p\n" bliver forklaret, gør andre ikke det. @jim har nævnt brugen af %T. Jeg bruger personligt et script med en linje svarende til find . -printf "%T@ %p\n" uden nogensinde at være i stand til at forstå, hvad den %T@ er. Kan nogen henvise til en forklarende kilde til disse muligheder, der ikke findes på manpages?

Kommentarer

  • Hvem ' er denne Barrett fyr?
  • @Kusalananda, Daniel J. Barrett, forfatter af " Linux Pocket Guide " henviser sidehenvisning til den anden udgave. Inden du løber til biblioteket, skal du advares om, at løsningen på dette spørgsmål ikke findes derinde. Ellers en meget god guide.
  • Måske har der manglet noget ved at finde ' s webside tilbage på dagen. Du skal se en post nu specifikt til% Tk, hvor k er den samme notation som brugt i% Ak.Hvilket siger: @ = sekunder siden 1. januar 1970, 00:00 GMT, med brøkdel.
  • @Nicholi | tak, det giver mening. Tider i andre formater undlader undertiden at sortere ting pænt.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *