เอาท์พุต ls -l ขนาดฟิลด์ด้วยตัวเลขจัดกลุ่มตามหลักพัน?


13

เป็นไปได้หรือไม่ที่จะทำให้ ls -l ส่งออกฟิลด์ขนาดด้วยตัวเลขที่จัดกลุ่มตามหลักพัน? ถ้าเป็นเช่นนั้นได้อย่างไร

ตัวอย่างเช่น

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

(หมายเหตุเครื่องหมายจุลภาคในขนาด)

อาจแก้ไขการตั้งค่า LC_NUMERIC ภายในภาษาที่ฉันใช้ (en_US.utf8)

ฉันใช้ Kubuntu 12.04 LTS


test.py มีขนาดใหญ่แค่ไหน คุณต้องการไบต์, กิโลไบต์, เมกะไบต์, ... ?
มิเคล

คำตอบ:


20

ขนาดบล็อก - GNU Coreutilsพูดว่า

ข้อกำหนดขนาดบล็อกนำหน้าด้วย 'ทำให้ขนาดเอาต์พุตแสดงด้วยตัวคั่นหลักพัน (โปรดทราบว่าการระบุขนาดบล็อกไม่เพียงพอ)

ดังนั้นขึ้นอยู่กับสิ่งที่คุณต้องการคุณสามารถลอง

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\""

ฉันได้รับผลลัพธ์ต่อไปนี้ใน Macos Sierra:ls: illegal option -- - usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
Matthew

Matt คำถามแรกเกี่ยวกับ Kubuntu Linux FreeBSD มี-,แต่ฉันไม่เห็นบน Mac OS
Mikel

หมายเหตุ:บ่อยครั้งเป็นสิ่งจำเป็นในการตั้งค่าLC_NUMERIC=en_USeqLC_NUMERIC=en_US ls -l --block-size="'1"
Al Bundy

0

ด้วย ast-open ls(เช่นlsbuiltin ของksh93ถ้าสร้างขึ้นเป็นส่วนหนึ่งของ 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

นั่นเป็นรูปแบบที่ปกติใช้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" ใน terminal ของคุณเพื่อดูว่ามันมีประโยชน์อย่างไร

    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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.