Pagina 1 di 2

ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 17:25
da mauau
Quando in un termine digito

Codice: Seleziona tutto

ls -l
ottengo qualcosa del genere

Codice: Seleziona tutto

-rw-r--r--  1 kubu kubu 3217580 2009-11-21 23:24 P1020771.JPG
-rw-r--r--  1 kubu kubu 2958535 2009-11-21 23:36 P1020796.JPG
-rw-r--r--  1 kubu kubu 3013075 2009-11-21 23:36 P1020797.JPG
-rw-r--r--  1 kubu kubu 2758622 2009-11-21 23:35 P1020798.JPG
mentre io vorrei questo output

Codice: Seleziona tutto

-rw-r--r--  1 kubu kubu 3.217.580 2009-11-21 23:24 P1020771.JPG
-rw-r--r--  1 kubu kubu 2.958.535 2009-11-21 23:36 P1020796.JPG
-rw-r--r--  1 kubu kubu 3.013.075 2009-11-21 23:36 P1020797.JPG
-rw-r--r--  1 kubu kubu 2.758.622 2009-11-21 23:35 P1020798.JPG
è possibile?
???

Re: ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 17:43
da kiroken_
c'è l'opzione h che migliora la leggibilità o vuoi proprio i punti?

Re: ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 19:28
da mauau
Proprio i punti (ma andrebbe bene anche la notazione anglosassone, cioè le virgole)

Re: ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 21:11
da kiroken_
mi sa che ti tocca farti uno script per convertire l'output ho dato un occhiata al man e non sembra esserci modo di inserire i separatori

Re: ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 21:30
da Shiroku
come ha detto kiroken, il parametro "h" ottenendo un output simile a:

Codice: Seleziona tutto

ls -lh
totale 1,3M
-rw-r--r--  1 fra fra 155K 2009-11-10 22:28 1.jpg                     
-rw-r--r--  1 fra fra 159K 2009-11-10 22:28 2.jpg                     
-rw-r--r--  1 fra fra 164K 2009-11-10 22:28 3.jpg                     
-rw-r--r--  1 fra fra  653 2009-11-22 19:52 FF7CC.txt
-rw-r--r--  1 fra fra 2,4K 2009-11-18 20:29 darksiders.txt
-rw-r--r--  1 fra fra 697K 2008-11-30 01:23 desk.png
drwxr-xr-x  2 fra fra 4,0K 2009-10-01 18:28 Desktop
drwxr-xr-x  6 fra fra 4,0K 2009-11-02 14:03 foto

Re: ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 21:58
da mauau
Shiroku ha scritto: come ha detto kiroken, il parametro "h" ottenendo un output simile a:

Codice: Seleziona tutto

ls -lh
totale 1,3M
-rw-r--r--  1 fra fra 155K 2009-11-10 22:28 1.jpg                     
-rw-r--r--  1 fra fra 159K 2009-11-10 22:28 2.jpg                     
-rw-r--r--  1 fra fra 164K 2009-11-10 22:28 3.jpg                     
-rw-r--r--  1 fra fra  653 2009-11-22 19:52 FF7CC.txt
-rw-r--r--  1 fra fra 2,4K 2009-11-18 20:29 darksiders.txt
-rw-r--r--  1 fra fra 697K 2008-11-30 01:23 desk.png
drwxr-xr-x  2 fra fra 4,0K 2009-10-01 18:28 Desktop
drwxr-xr-x  6 fra fra 4,0K 2009-11-02 14:03 foto
Lo so, ma non è quello che mi serve.
kiroken ha scritto: mi sa che ti tocca farti uno script per convertire l'output ho dato un occhiata al man e non sembra esserci modo di inserire i separatori
Hai qualche idea a proposito?

Re: ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 22:07
da kiroken_
uhm potresti farti un programmino in C oppure lavorare in bash (o altro linguaggio) meglio lasciare stare linguaggi interpretati per non renderlo troppo pesante. Un modo rozzo per farlo in bash sarebbe leggere una riga alla volta con cut prendere il numero, inserire in un qualche modo i punti e poi (ad esempio) con sed sostituire il numero vecchio con quello con i punti.

Re: ls -l con visualizzazione umana

Inviato: domenica 22 novembre 2009, 23:54
da mauau
Gulp!!!
Vabbè, dai, si sopravvive lo stesso. Mi scoccia solo una cosa: ho sempre detto ad amici/colleghi/conoscenti che con gnu/linux si può fare tutto.......

Re: ls -l con visualizzazione umana

Inviato: lunedì 23 novembre 2009, 0:09
da kiroken_
mauau ha scritto: Gulp!!!
Vabbè, dai, si sopravvive lo stesso. Mi scoccia solo una cosa: ho sempre detto ad amici/colleghi/conoscenti che con gnu/linux si può fare tutto.......
beh per fare si può fare solo che quello che chiedi te non è stato previsto in quanto insolito.
Un programmatore volendo sfruttare l'output di ls per ottenere la dimensione dei file gli fa comodo avere l'output nella forma normale così gli basta prendere il numero per avere il numero di byte che compongono il file.
Ad un utente invece fa più comodo vedere la dimensione in forma leggibile con le unità di misura.

Se conosci il bash comunque non ci vuole molto (mi sfugge solo come mettere i punti in modo rapido) così come in C.

Re: ls -l con visualizzazione umana

Inviato: lunedì 23 novembre 2009, 0:49
da derma
Secondo me, quello che chiese fu, magari non precisamente, previsto e realizzato: l'opzione "-h" (...no, non è una formula segreta)...

man ls ha scritto: ...

-h, --human-readable
              with -l, print sizes in human readable format (e.g., 1K 234M 2G)

...

...conoscere la dimensione fino all'ultimo byte non capisco proprio a cosa possa servire.

Re: ls -l con visualizzazione umana

Inviato: lunedì 23 novembre 2009, 3:31
da einstein1969
per cominciare...

ls -l | sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta'

Re: ls -l con visualizzazione umana

Inviato: lunedì 23 novembre 2009, 10:25
da derma
Anziché "sed" avevo pensato a "awk"... a ogni modo, come facesti notare tu, è "per cominciare".

Re: ls -l con visualizzazione umana

Inviato: lunedì 23 novembre 2009, 15:32
da einstein1969
derma ha scritto:

Anziché "sed" avevo pensato a "awk"... a ogni modo, come facesti notare tu, è "per cominciare".
da sistemare anche questo...

ls -l | LC_ALL=en_US.UTF-8 gawk '{printf $1 " " $2 " " $3 " "$4 " "}{printf "%'"'"'d", $5} {print " " $6 " " $7 " " $8 " " $9 }'

Re: ls -l con visualizzazione umana

Inviato: lunedì 23 novembre 2009, 19:39
da derma
'Sto secondo che postasti è "meglio"... l'unico inconveniente, per così dire!, è che bisogna avere "gawk" installato.

Re: ls -l con visualizzazione umana

Inviato: lunedì 23 novembre 2009, 21:10
da einstein1969
derma ha scritto:

'Sto secondo che postasti è "meglio"... l'unico inconveniente, per così dire!, è che bisogna avere "gawk" installato.
sicuramente si puo' ottenere di meglio...

Alcuni riferimenti per chi vuole approfondire:

Un'introduzione -> AWK questo sconosciuto
qui ne parlano e ci sono vari esempi da cui ho preso spunto -> thousands separator
The GNU Awk User's Guide qui per la parte che ci interessa -> vedi thousands-separator(separatore di migliaia)
Altra risorsa awk

e poi il man e info da terminale.

Re: ls -l con visualizzazione umana

Inviato: martedì 24 novembre 2009, 1:05
da mauau
derma ha scritto:

Secondo me, quello che chiese fu, magari non precisamente, previsto e realizzato: l'opzione "-h" (...no, non è una formula segreta)...

man ls ha scritto: ...

-h, --human-readable
              with -l, print sizes in human readable format (e.g., 1K 234M 2G)

...

...conoscere la dimensione fino all'ultimo byte non capisco proprio a cosa possa servire.
Per esempio, se scarico 2 file, posso vedere subito se sono identici o no. (Ovvero hanno la possibilità di essere identici), è chiaro che se c'è anche solo un byte di differenza, non sono più identici.

Re: ls -l con visualizzazione umana

Inviato: martedì 24 novembre 2009, 1:27
da derma
Ma mica è detto che possa dedursi una eventuale differenza di contenuto tra 2 o più file mettendo a riscontro le loro dimensioni.

Re: ls -l con visualizzazione umana

Inviato: martedì 24 novembre 2009, 3:44
da Rampage
mauau ha scritto:
derma ha scritto:

Secondo me, quello che chiese fu, magari non precisamente, previsto e realizzato: l'opzione "-h" (...no, non è una formula segreta)...

man ls ha scritto: ...

-h, --human-readable
              with -l, print sizes in human readable format (e.g., 1K 234M 2G)

...

...conoscere la dimensione fino all'ultimo byte non capisco proprio a cosa possa servire.
Per esempio, se scarico 2 file, posso vedere subito se sono identici o no. (Ovvero hanno la possibilità di essere identici), è chiaro che se c'è anche solo un byte di differenza, non sono più identici.
se lo scopo è quello di verificare l'identicità di due file, allora stai sbagliando strada, ti devi affidare a degli algoritmi di hashing, come md5 o sha1

Re: ls -l con visualizzazione umana

Inviato: martedì 24 novembre 2009, 3:45
da derma
Rampage ha scritto:
mauau ha scritto:
derma ha scritto:

Secondo me, quello che chiese fu, magari non precisamente, previsto e realizzato: l'opzione "-h" (...no, non è una formula segreta)...

man ls ha scritto: ...

-h, --human-readable
              with -l, print sizes in human readable format (e.g., 1K 234M 2G)

...

...conoscere la dimensione fino all'ultimo byte non capisco proprio a cosa possa servire.
Per esempio, se scarico 2 file, posso vedere subito se sono identici o no. (Ovvero hanno la possibilità di essere identici), è chiaro che se c'è anche solo un byte di differenza, non sono più identici.
se lo scopo è quello di verificare l'identicità di due file, allora stai sbagliando strada, ti devi affidare a degli algoritmi di hashing, come md5 o sha1



Dici a me?!?!?!?!?!?!?!?!?!

Re: ls -l con visualizzazione umana

Inviato: martedì 24 novembre 2009, 10:34
da einstein1969
Purtroppo per alcuni e' piu' utile la dimensione a byte a vista per avere a colpo d'occhio una differenza.
anche io non scomodo altri tools se la dimensione e' differente. Se non ci fosse questo colpo d'occhio dovremmo "sempre" usare i tools anche a dimensione differente! E' un modo per velocizzare le cose in alcuni casi.

Di questo credo che parlava mauau.