Відповіді:
ls -l | awk '{print $5, $6, $7, $9}'
Це надрукує розмір файлу в байтах, місяці, даті та імені файлу.
jin@encrypt /tmp/foo % ls -l
total 0
drwxr-xr-x 2 jin wheel 68 Oct 4 12:43 bar
drwxr-xr-x 2 jin wheel 68 Oct 4 12:43 baz
drwxr-xr-x 2 jin wheel 68 Oct 4 12:43 quux
jin@encrypt /tmp/foo % ls -l | awk '{print $5, $6, $7, $9}'
68 Oct 4 bar
68 Oct 4 baz
68 Oct 4 quux
З технічної точки зору це неможливо ls, але findможна виконати ту саму роботу зі своїм -printfперемикачем:
find -maxdepth 1 -printf '%t %s %p\n'
find usr/lib/ -not -type d -printf '%M %p\n output: -rw-r--r-- usr/lib/x86_64-linux-gnu/apr-util-1/apr_crypto_openssl-1.so... Навчіть людину ловити рибу та все це ...
ви завжди можете:
$ ls -l
total 0
-rw-r--r-- 1 user staff 0 Oct 6 23:29 file1
-rw-r--r-- 1 user staff 0 Oct 6 23:29 file2
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file3
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file4
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file5
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file6
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file7
cut це до:
$ ls -l | cut -f 8-13 -d ' '
0 Oct 6 23:29 file1
0 Oct 6 23:29 file2
0 Oct 6 23:30 file3
0 Oct 6 23:30 file4
0 Oct 6 23:30 file5
0 Oct 6 23:30 file6
0 Oct 6 23:30 file7
$
ls -lпрокладки пробілів. Якщо стовпці не мають однакової довжини (який стовпець 5, розмір файлу часто не буде), вирізати не буде вибрано стовпці правильно. Збіг послідовних пробілів допоможе (слідкуйте за пробілами у назвах файлів). ls -l | tr -s ' ' | cut -f 8-13 -d ' '
Ще один невхідний lsспосіб:
> stat --printf='%y\t%12s\t%-16n|\n' tmp.*
2017-06-15 10:42:07.252853000 +0200 10485760 tmp.1 |
2017-06-15 10:41:25.659570000 +0200 666 tmp.TKPzm3BfRw |
Пояснення: %y= читана людиною дата модифікації;
%s= розмір у байтах ( %12sвирівнюється справа, довжина 12);
%n= назва файлу ( %-16nвирівняний ліворуч, довжина 16); \t= вкладка, \n= рядковий канал. |= буквальна діаграма труби, просто щоб показати кінець імені файлу.
Мовляв ls, statне має жодних варіантів вибору файлів для показу. (Це можна зробити, використовуючи глобальну оболонку, як показано вище, або деякі find ... -print0 | xargs -r0 stat ..., наприклад.)
stat -f '%N %Sm %z' filename