Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

posted 2014-11-13 15:30:24 +0100

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ě...

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 :-)