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
- Podívejte se na find ' s manpage.
- možný duplikát Kde najít odkaz na formátování printf?
Odpověď
Jaké jsou zde použité možnosti% s% p?
% 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í.