Trường kích thước ls -l với các chữ số được nhóm theo hàng nghìn?


12

Có thể tạo ls -l đầu ra trường kích thước với các chữ số được nhóm theo hàng ngàn? Nếu vậy thì thế nào?

Ví dụ:

$ ls -l
-rw-rw---- 1 dahl dahl 43,210,052 2012-01-01 21:52 test.py

(Lưu ý dấu phẩy trong kích thước).

Có lẽ bằng cách sửa đổi cài đặt LC_NUMERIC bên trong miền địa phương tôi đang sử dụng (en_US.utf8)?

Tôi đang dùng Kubfox 12.04 LTS.


Test.txt lớn như thế nào? Bạn có muốn byte, kilobyte, megabyte, ...?
Mikel

Câu trả lời:


20

Kích thước khối - GNU Coreutils nói

Một đặc tả kích thước khối có trước 'làm cho kích thước đầu ra được hiển thị với hàng nghìn dấu phân cách. (Lưu ý rằng chỉ xác định kích thước khối là không đủ).

Vì vậy, tùy thuộc vào những gì bạn muốn, bạn có thể thử

BLOCK_SIZE="'1" ls -l
BLOCK_SIZE="'1kB" ls -l

hoặc là

ls -l --block-size="'1"
ls -l --block-size="'1kB"

bạn có thể làm cho nó vĩnh viễn bằng cách sử dụng

export BLOCK_SIZE="'1"
export BLOCK_SIZE="'1kB"

hoặc là

alias ls="ls --block-size=\"'1\""
alias ls="ls --block-size=\"'1kB\""

Tôi nhận được đầu ra sau trên Macos Sierra:ls: illegal option -- - usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
Matthew

Matt, câu hỏi ban đầu là về Kubfox Linux. FreeBSD có -,nhưng tôi không thấy điều đó trên Mac OS.
Mikel

Lưu ý: Thường là cần thiết để đặt LC_NUMERIC=en_USeqLC_NUMERIC=en_US ls -l --block-size="'1"
Al Bundy

0

Với ast-open ls(cũng là phần lsdựng sẵn ksh93nếu được xây dựng như một phần của ast-open):

$ 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

Đó là định dạng thường được sử dụng cho ls -lnhưng được %(size)uthay đổi %'(size)uđể hiển thị hàng nghìn dấu phân cách.

Dễ đọc hơn:

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

Từ trang người đàn ông

--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.

_Đây là trang dành cho nam giới, hãy nhớ rằng người đàn ông là người bạn tốt nhất của bạn "man man" trong thiết bị đầu cuối của bạn để tìm hiểu xem nó có thể hữu ích như thế nào.

    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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.