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

Tento příkaz funguje dobře, ale jaké jsou %s %p zde použité možnosti? Existují nějaké další možnosti, které lze použít?

Komentáře

Odpověď

Jaké jsou zde použité možnosti% s% p?

Z manuálové stránky :

% s Velikost souboru v bajtech.

% p Název souboru.

Na této stránce přejděte dolů za všechna běžná písmena pro printf a přečíst části, které mají předponu%.

% n Počet pevných odkazů na soubor.

% p Souborname.

% P Název souboru s názvem výchozího bodu, pod kterým je byl nalezen odstraněn.

% s Velikost souboru v bajtech.

% t čas poslední úpravy souboru ve formátu vráceném funkcí C `ctime“.

Existují další možnosti, které lze použít?

Existují. Podívejte se na odkaz na stránku.

Komentáře

  • @don_crissti I ' nikdy nerozumím, proč lidé upřednostňují náhodnou webovou dokumentaci před dokumentací nainstalovanou v jejich systémech (což má další výhodu ve skutečnosti, že je relevantní pro jejich systém).
  • @Kusalananda – No, napadá mě jeden scénář, ve kterém by lidé zahrnuli odkaz na webovou stránku namísto citace z dokumentace nainstalované v jejich systému: ' nejsou v době psaní příspěvku na linuxovém stroji … Odkaz však by měl ukazovat (imo) na oficiální dokumenty (tedy můj výše uvedený komentář, který byl z nějakého neznámého důvodu odstraněn mody …). Kromě toho s vámi plně souhlasím: OP by měl konzultovat manuální stránku nainstalovanou v jejich systému.
  • @don_crissti Nebo jsou na serveru, který nemá nainstalované žádné stránky, které jsou docela časté.
  • Moje manuální stránka však většinou pochází z FreeBSD. Pokud však náhodou nemám na dosah virtuální počítač s Linuxem. A mám dojem, že většina otázek je založena na GNU / Linuxu.
  • Také bych měl dodat, že kromě ohromujícího a často nevyzpytatelného výstupu manuálových stránek pro relativně nezkušené uživatele, jako programátor / mocný uživatel ' m obvykle hledají nová řešení, která ruční stránky nepokrývají ' t. Například (právě teď), konkrétní formát data pro výstup příkazu ' najít '. Manuální stránka vám ' neříká, abyste "% T " vložili před každou proměnnou – alespoň ne to, co jsem našel, i když jsem ji konkrétně hledal. Celý den byste se mohli snažit přijít na to. (Nebo jen dejte.) Zatímco vyhledávání na Stack Exchange přinese tuto odpověď, jasně vysvětlenou, v prvním výsledku.

Odpověď

Barrett 2012 říká na straně 74:

-printf string vytiskne daný řetězec, na který mohou být použity substituce způsobem funkce knihovny C printf(). „

a samozřejmě doporučuje manpage pro úplný seznam možností. Zatímco věci jako find . -printf "%s %p\n" jsou vysvětleny, ostatní to neudělají. @jim zmínil použití %T. Osobně používám skript s řádkem podobným find . -printf "%T@ %p\n", aniž bych vůbec dokázal pochopit, co to %T@ je. Může někdo odkazovat na vysvětlující zdroj pro tyto možnosti, který se nenachází na stránkách?

Komentáře

  • Kdo ' je tento Barrettův chlap?
  • @Kusalananda, Daniel J. Barrett, autor " Linux Pocket Guide " , citace stránky odkazuje na druhé vydání. Než se rozběhnete do knihovny, upozorňujeme vás, že řešení této otázky se tam nenachází. Jinak velmi dobrý průvodce.
  • Mohlo by to chybět na stránce <

s, která se v minulosti objevila. Nyní byste měli vidět záznam konkrétně pro% Tk, kde k je stejná notace jako v% Ak.Který uvádí: @ = sekundy od 1. ledna 1970, 00:00 GMT, s částečnou částí.

  • @Nicholi | díky, to dává smysl. Doba v jiných formátech někdy nedokáže věci pěkně seřadit.
  • Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *