Newsgroup: it.comp.os.linux.iniziare
Titolo: Formato numerico di ls

C'e' modo di far scrivere a ls i byte dei file, non i K
o i mega eh (quello lo so), col punto di separazione delle
migliaia? al peggio anche la virgola inglese andrebbe bene,
es.: 3.017.533 oppure 3,017,533 invece di 3017533.
-- 
Saluti, Dalet

 C'e' modo di far scrivere a ls i byte dei file
Da man non c'e' opzione. Forse ti ci vorra' una manipolazioni in pipe con 
sed.
-- 
Archlinux on (uname -a)
F

con sed.
Eh.. 'na parola! certe volte ha 2 o 3 sole cifre altre 4
o piu', piuttosto sembra un'opzione di printf() ma non so
come possa entrarci printfile con ls.
-- 
Saluti, Dalet

Dopo dura riflessione, Dalet ha scritto :

avendo i sorgenti - ovviamente so che ci sono - non vedo impossibile 
modificarli e riscriversi un comando personalizzato.
J.

 come possa entrarci printfile con ls.
prova con awk
ls -l|awk '{ printf("%d %s\n", $5, ($5/1024)) }'
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

 avendo i sorgenti - ovviamente so che ci sono 
esattamente qui
http://ftp.gnu.org/gnu/coreutils/
peraltro ottimo modo per approfondire il C
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
Forms follow function, and often obliterate it.

  piuttosto sembra un'opzione di printf()
ls  -l  /dir | gawk '{printf "%-15s %s\n", $5, $9}'
Se sai di piu' di printf, allora saprai come fare il risultato formattato.
Altrimenti leggi 
http://www.scribd.com/doc/3682224/GNU-Awk-Gawk
http://www.gnu.org/software/gawk/manual/gawk.pdf


 modificarli e riscriversi un comando personalizzato
Chi traffica col C lo vedo anche velocemente fattibile.
Se invece si vuole un paliativo non ci metto molto a farne un in python :D
Ma a quale scopo servirebbe a Dalet?
Daletttttttttttttttttttttttttttttttttt :O


Daletttttttttttttttttttttttttttttttttt :O
Niente, solo che se do' ls -lh mi da' risultati approssimati
e senza raggruppare le cifre a 3 a 3 ci sto un'ora a capire
se sono mega giga o solo kappa.
(ero via, scusa il ritardo)
-- 
Saluti, Dalet

 -rw-r--r-- 1 r r  383K May  3 00:50 Bluebook.0161.ITA.Zweig.Stefan.Novella.degli.scacchi.rar
ma forse ti è scappato un h, era ls -l?
cmq, -lh non è abbastanza preciso? e perché (oggi sono curioso)?
r
-- 
non volete più preoccuparvi dei virus? passate a Linux
http://www.umpf.net/ramapage/slack.htm

cmq, -lh non è abbastanza preciso? e perché (oggi sono curioso)?
Perche' approssima, 1.4M puo' essere meno o piu' di 1.4M
esatti. Il piu' preciso e' questo che mi son fatto per
vedere quanti film ci stanno in un dvd:
alias llgm='/bin/ls -vgG --color=auto --time-style="+%d-%b-%y" \
--block-size=1048576'
pero' non li da' lo stesso tutti i byte esatti.
-- 
Saluti, Dalet

 vedere quanti film ci stanno in un dvd:
uhm, ancora con divx et similia?
roba del passato, e cmq io li sbatto dentro k3b e se traboccano ne tolgo 
uno rimpiazzandolo con un altro;


uno rimpiazzandolo con un altro;
No.. divx neppure lo conosco, se backuppo un film dvd-VOB
lo faccio ugualmente VOB con dvdbackup e dvdauthor in un
momento, invece VOB -> avi penso lo farei con ffmpeg, e'
insuperabile IMHO come qualita', ma non l'ho mai fatto.
Per masterizzare do queste e ci metto un'attimo:
genisoimage -vrJ -log-file log33 -o /tmp/trentatre.iso -path-list LISTA33
wodim -v dev=/dev/sr0 speed=8 -dao /tmp/trentatre.iso 
Il difficile e' scegliere cosa metterci in LISTA, per non
mischiare i generi e per non sprecare troppo spazio.
-- 
Saluti, Dalet

 e senza raggruppare le cifre a 3 a 3 
-h di suo da come base i KB, automaticamente cambia se supera lo spazio 
assegnato per la scrittura (forse 4) e aggiunge M o G come per df -h. 
Ultimo, a cosa ti servirebbe cotal funzione? Informativo quando leggi il 
listato oppure serve per una sequenza di comandi.
Nella prima opzione non vedo la difficolta di capire il metodo -h, ti dira' 
se sono K o M o G o T automaticamente, il resto e' alquanto distortivo nel 
rappresentare la sua visualizzazione.


 pero' non li da' lo stesso tutti i byte esatti.
*DIR=/dove/tieni/files*
ls -l $DIR | awk '{ x += $5 } END { print "total bytes: " x}'


ls -l $DIR | awk '{ x += $5 } END { print "total bytes: " x}'
Questa e' veramente carina! THX!!
[~]dalet_$: cat LISTA 
/home/film/avatar-2009-ita.avi
/home/film/startrek/rotta_verso_la_terra-1986.avi
/home/film/startrek/il_futuro_ha_inizio-2009.avi
[~]dalet_$: \ls -l $(cat LISTA) | awk '{x+=$5} END {print x " byte = "
x/1024^3, " giga"}'
4420866048 byte = 4.11725 giga
-- 
Saluti, Dalet

 4420866048 byte = 4.11725 giga
Evvai!
Che poi si potrebbe elaborare coi puntini di separazione delle migliaia :)
Certo che facevi prima a dire cosa stavi facendo e che soluzione ti serviva.
Non dico che io sia perfetto, a volte scrivo in un modo che gli altri mi 
dicono di non capire.




$ echo 1234566 | awk '{printf "%'\''.f\n", $0}'
1,234,566
$ printf "%'.f\n" 1234566
1,234,566
-- 
Cio' che si vede, e'.

dicono di non capire.
Si' ma non e' mica solo quello, ho cominciato con quello
ma se non ci fosse da mettere in pipe awk, cioe' se fosse
solo ls, secondo me sarebbe piu' leggibile e non userei
mai il -h con ls.
-- 
Saluti, Dalet

Il 08-05-2011, Marco dice:




Ci dev'essere qualcosa di locale di diverso, perche' da me
da' sempre 1234566 senza virgole ne' punti, io (debian) ho:
$: locale
LANG=it_IT.UTF-8
LC_CTYPE="it_IT.UTF-8"
LC_NUMERIC="it_IT.UTF-8"
LC_TIME="it_IT.UTF-8"
LC_COLLATE="it_IT.UTF-8"
LC_MONETARY="it_IT.UTF-8"
LC_MESSAGES="it_IT.UTF-8"
LC_PAPER="it_IT.UTF-8"
LC_NAME="it_IT.UTF-8"
LC_ADDRESS="it_IT.UTF-8"
LC_TELEPHONE="it_IT.UTF-8"
LC_MEASUREMENT="it_IT.UTF-8"
LC_IDENTIFICATION="it_IT.UTF-8"
LC_ALL=
-- 
Saluti, Dalet

 LC_ALL=
$ LC_ALL=it_IT.UTF-8 printf "%'.f\n" 1234566
1,234,566
A me funziona (e assicurati di aver copiato bene). Provato su redhat,
debian e ubuntu.


debian e ubuntu.
Guarda li ho messi in questo file, i comandi li do
direttamente da vi, puoi vedere tu stesso che son corretti:
:r!cat provalist
echo
echo 123456789 | awk '{printf "%'\''.f\n", $0}'
echo
printf "%'.f\n" 123456789
echo
:r!. provalist
123456789
123456789
-- 
Saluti, Dalet

  LC_ALL=it_IT.UTF-8 printf "%'.f\n" 1234566
Ho fatto anche export, ma ciccia ;(


 Ho fatto anche export, ma ciccia ;(
Non so che dirvi, io non sono riuscito a trovare un computer che non 
funzionasse. Sorry! Se lo trovo, investigo.
