파일 이름, 날짜 및 크기 만 표시하도록 ls 출력을 제한하는 방법은 무엇입니까?

ls리눅스에서 파일 이름 날짜와 크기 만 목록으로 표시 하려면 어떻게 해야합니까? 소유자, 권한과 같은 다른 정보를 볼 필요가 없습니다.



답변

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'

답변

당신은 항상 할 수 있습니다 :

$ 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방법 :

> 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 ...예를 들어 위와 같이 쉘 globbing 또는 일부로 수행 할 수 있습니다 .)


답변

Tolitius에서 약간의 변형

ls -lh | cut -f 6- -d ' '

답변