ls -lに数値サイズフィールドを数千単位で出力させることはできますか?それでは、どうすればいいですか?
たとえば、
$ ls -l
-rw-rw---- 1 dahl dahl 43,210,052 2012-01-01 21:52 test.py
(寸法にカンマがあることに注意してください)。
おそらく私が使用しているロケール(en_US.utf8)でLC_NUMERIC設定を変更することはできませんか?
私はKubuntu 12.04 LTSを使用しています。
答え1
先頭に「」が付いているブロックサイズ仕様は、出力サイズが千単位の区切り文字で表示されるようにします。 (ブロックサイズを指定するだけでは不十分です。)
だからあなたが望むものに応じて試してみることができます。
BLOCK_SIZE="'1" ls -l
BLOCK_SIZE="'1kB" ls -l
または
ls -l --block-size="'1"
ls -l --block-size="'1kB"
これを使用して永久に作成できます
export BLOCK_SIZE="'1"
export BLOCK_SIZE="'1kB"
または
alias ls="ls --block-size=\"'1\""
alias ls="ls --block-size=\"'1kB\""
答え2
ast-openを使用する(ls
ast-openの一部として組み込まれたls
if組み込み関数も使用ksh93
):
$ ls -rSZ "%(mode)s %3(nlink)u %-8(uid)s %-8(gid)s %8(device:case::%'(size)u:*:%(device)s)s %(mtime)s %(name)s%(linkop:case:?*: %(linkop)s %(linkpath)s)s"
[...]
-rwxrwxr-x 1 chazelas chazelas 2,701,278 Apr 27 2016 nmake
-rwxrwxr-x 2 chazelas chazelas 4,515,954 Apr 27 2016 ksh
-rwxrwxr-x 2 chazelas chazelas 4,515,954 Apr 27 2016 bash
-rwxrwxr-x 1 chazelas chazelas 4,542,177 Apr 27 2016 shcomp
-rwxrwxr-x 1 chazelas chazelas 6,830,418 Apr 27 2016 tksh
これは一般的に使用される形式ですが、千単位の区切り記号を表示するように変更されましたls -l
。%(size)u
%'(size)u
より明確に:
LONG_FORMAT_WITH_THOUSAND_SEP="\
%(mode)s \
%3(nlink)u \
%-8(uid)s \
%-8(gid)s \
%8(device:case::%'(size)u:*:%(device)s)s \
%(mtime)s \
%(name)s\
%(linkop:case:?*: %(linkop)s %(linkpath)s)s"
ls -rSZ "$LONG_FORMAT_WITH_THOUSAND_SEP"
答え3
マニュアルページから
--block-size=SIZE
scale sizes by SIZE before printing them. E.g., `--block-size=M'
prints sizes in units of 1,048,576 bytes. See SIZE format below.
_これはlsのマニュアルページです。 manが親友であることを覚えておいてください。端末に「man man」と入力して、どのように役立つかを確認してください。
ls
List information about files.
Syntax
ls [Options]... [File]...
Key
Sort entries alphabetically if none of -cftuSUX nor --sort.
-a, --all Do not hide entries starting with .
-A, --almost-all Do not list implied . and ..
-b, --escape Print octal escapes for nongraphic characters
--block-size=SIZE Use SIZE-byte blocks
-B, --ignore-backups Do not list implied entries ending with ~
-c Sort by change time; with -l: show ctime
-C List entries by columns
--color[=WHEN] Control whether color is used to distinguish file
types. WHEN may be `never', `always', or `auto'
-d, --directory List directory entries instead of contents
-D, --dired Generate output designed for Emacs' dired mode
-f Do not sort, enable -aU, disable -lst
-F, --classify Append indicator (one of */=@|) to entries
--format=WORD Across -x, commas -m, horizontal -x, long -l,
single-column -1, verbose -l, vertical -C
--full-time List both full date and full time
-g (ignored)
-G, --no-group Inhibit display of group information
-h, --human-readable Print sizes in human readable format (e.g., 1K 234M 2G)
-H, --si Likewise, but use powers of 1000 not 1024
--indicator-style=WORD Append indicator with style WORD to entry names:
none (default), classify (-F), file-type (-p)
-i, --inode Print index number of each file
-I, --ignore=PATTERN Do not list implied entries matching shell PATTERN
-k, --kilobytes Like --block-size=1024
-l Use a long listing format
-L, --dereference List entries pointed to by symbolic links
-m Fill width with a comma separated list of entries
-n, --numeric-uid-gid List numeric UIDs and GIDs instead of names
-N, --literal Print raw entry names (don't treat e.g. control
characters specially)
-o Use long listing format without group info
-p, --file-type Append indicator (one of /=@|) to entries
-q, --hide-control-chars Print ? instead of non graphic characters
--show-control-chars Show non graphic characters as-is (default)
-Q, --quote-name Enclose entry names in double quotes
--quoting-style=WORD Use quoting style WORD for entry names:
literal, shell, shell-always, c, escape
-r, --reverse Reverse order while sorting
-R, --recursive List subdirectories recursively
-s, --size Print size of each file, in blocks
-S Sort by file size
--sort=WORD time -t, version -v, status -c
size -S, extension -X, none -U
atime -u, access -u, use -u
--time=WORD Show time as WORD instead of modification time:
atime, access, use, ctime or status;
also use this as a sort key if --sort=time
-t sort by modification time
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
-u sort by last access time; with -l: show atime
-U do not sort; list entries in directory order
-v sort by version
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
--help display help and exit
--version output version information and exit