Ls

點而不是逗號作為千位分隔符

  • January 4, 2014

我閱讀了關於--blocksize獲得ls千位分隔符的資訊。

但是我的電腦給了我點(.)而不是逗號(,):

$ ls -l --block-size="'1"
total 11.893.190.656
-rw------- 1 carlah users  1.081.192.448 Apr 16  2013 D1.vdi
-rw-rw-r-- 1 carlah users             37 Apr  3  2012 interface.txt
-rw------- 1 carlah users     86.052.864 Apr 16  2012 D2.vdi
drwx------ 2 carlah users          4.096 Apr 16  2012 Snapshots/
-rw------- 1 carlah users 10.725.925.376 Apr 16  2012 Vista.vdi

我試圖LC_NUMERIC=en_US ls -l --block-size="'1"改變它,但這只是刪除了點而不是把它們變成逗號。難道我做錯了什麼?

您應該查看您的設置:

echo $LC_NUMERIC

然後嘗試類似你有的東西,比如:

LC_NUMERIC="en_US.UTF-8" ls -l --block-size="'1"

檢查en_US您的系統中的語言環境是否可用。

用於locale -a列出可用的語言環境並/etc/locale.gen進行配置。(請注意,您的發行版可能有自己的工具來管理語言環境。)

$ LC_NUMERIC=C ls -l --block-size="'1" linuxmint-16-cinnamon-dvd-64bit.iso 
-rw------- 1 michas users 1252147200 24. Dez 00:12 linuxmint-16-cinnamon-dvd-64bit.iso
$ LC_NUMERIC=de_DE ls -l --block-size="'1" linuxmint-16-cinnamon-dvd-64bit.iso 
-rw------- 1 michas users 1.252.147.200 24. Dez 00:12 linuxmint-16-cinnamon-dvd-64bit.iso
$ LC_NUMERIC=en_US ls -l --block-size="'1" linuxmint-16-cinnamon-dvd-64bit.iso 
-rw------- 1 michas users 1,252,147,200 24. Dez 00:12 linuxmint-16-cinnamon-dvd-64bit.iso
$ locale -a
C
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
deutsch
en_US
en_US.iso88591
en_US.utf8
german
POSIX
$ 

引用自:https://unix.stackexchange.com/questions/107846