2016-05-25 7 views
1

Ich habe XYZ=/opt/Ind und bestimmte Verzeichnisse unter /opt/IndFehler beim Festplattennutzung eines Ordners in Unix bekommen

Ich sortierte die Verzeichnisse von: ls -t $XYZ Dann brauche ich nur die Größe des ersten Ordners zu erhalten. Ich versuchte

du -sk $(ls -t $XYZ/TAL/ | head -n 1) 

Es gibt mir diesen Fehler

du: cannot access `\033[0m\033[01;34m20160525_033732\033[0m': No such file or directory 

Wird für die Hilfe freuen.

Antwort

2

Das hier Problem ist, dass Sie nicht den normalen ls aber einen Alias ​​verwenden, so dass es Ihnen einige farbige Ausgabe bereitstellt. Auf diese Weise erhalten Sie anstelle eines normalen Namens 20160525_033732 es mit der blauen Farbe.

$ echo -e "\033[0m\033[01;34m20160525_033732\033[0m" 
20160525_033732 

Verwenden Sie einfach \ls to use the original ls without any alias.

du -sk "$(\ls -t $XYZ/TAL/ | head -n 1)" 
#  ^

sehen, was der Alias ​​mit ist:

type ls 

Es wird wahrscheinlich zurückkehren so etwas wie:

ls is aliased to `ls --color=always' 
+0

Kann ich nur die Größe drucken und nicht auf den Ordnernamen mit diesem Befehl –

+0

@ MohitArora sicher. Sie können 'du Datei | awk '{print $ 1}' '. – fedorqui

0

hinzufügen --color=never den ls so dass es die Ausgabe nicht einfärben wird:

du -sk $(ls --color=never -t $XYZ/TAL/ | head -n 1) 
Verwandte Themen