Protože "správná" odpověď už tu několikrát zazněla a opravdu hezkou "správnou" odpověď napsal @Josef Kokeš, tak tu uvedu nějaký ten nástřel správne (== praktické) odpovědi, která rozhodně není vyžadována testem.
Problematické je především odřádkováni v názvu, které zabije jakoukoliv práci s cutem a grepem. Na výběr tedy máme dvě možnosti. Buď upravíme vstup na něco použitelnějšího, nebo to se vyhneme používání jmen.
Takže jedna z metod, jak bych to mohl v praxi řešit "aby se to nerozbilo":
ls -l --quoting-style=c /usr | awk '$1 ~ /^d/ { if($1 >= max) {max=$1; maxR=$0} } END {print substr(maxR, index(maxR, "\""))}'
Výsledkem bude jméno souboru, které bude mít všechny fujky znaky escapované po céčkovém způsobu. Pokud se mi to nelíbí, můžu to nechat interpretovat ještě nějakým echo -e
nebo podobně...
2 | No.2 Revision |
Protože "správná" odpověď už tu několikrát zazněla a opravdu hezkou "správnou" odpověď napsal @Josef Kokeš, tak tu uvedu nějaký ten nástřel správne (== praktické) odpovědi, která rozhodně není vyžadována testem.
Problematické je především odřádkováni v názvu, které zabije jakoukoliv práci s cutem a grepem. Na výběr tedy máme dvě možnosti. Buď upravíme vstup na něco použitelnějšího, nebo to se vyhneme používání jmen.
Takže jedna z metod, jak bych to mohl v praxi řešit "aby se to nerozbilo":
ls -l --quoting-style=c /usr | awk '$1 ~ /^d/ { if($1 >= max) {max=$1; maxR=$0} } END {print substr(maxR, index(maxR, "\""))}'
Výsledkem bude jméno souboru, které bude mít všechny fujky znaky escapované po céčkovém způsobu. Pokud se mi to nelíbí, můžu to nechat interpretovat ještě nějakým echo -e
nebo podobně...
EDIT: a jak tak koukám, tak @Josef Kokeš dodal krom "správné" i správnou :-)