답변:
stat
대신에 사용 하지 ls
않겠습니까?
stat -c "%y %s %n" *
find . -type f -print0 | xargs -0 stat -c "%y %s %n"
stat
에 너비 정보를 추가 할 수 있습니다 . 예를 들어 "%y %8s %n"
문서화되지 않았지만 작동하는 것 같습니다 (coreutils 8.17, Fedora 18)
ls
천 단위 구분 문자로 출력 할 수 있기 때문입니다. 그것은 어떻게 작동 stat
합니까?
ls
. 색상은 어떻습니까?
find
유틸리티를 사용하여 파일을 나열하는 방법을 많이 제어 할 수 있습니다 . ls
실제로 원하는 열을 지정할 수는 없습니다.
예를 들면 다음과 같습니다.
$ find . -maxdepth 1 -printf '%CY%Cm%Cd.%CH%CM\t%s\t%f\n'
20111007.0601 4096 .
20111007.0601 2 b
20111001.1322 4096 a
printf
액션에 대한 논쟁 은 맨 페이지에 자세히 설명되어 있습니다. 다른 시간 정보, 원하는 크기 (사용 된 파일 크기 또는 디스크 블록) 등을 선택할 수 있습니다. 추가 처리가 필요한 경우 비정상적인 파일 이름에 대해 안전 할 수도 있습니다.
%C+
( "2016-08-29 + 10 : 57 : 56.9201257840" %Cc
출력 ) 및 ( "Mo 29 Aug 2016 10:57:56 CEST"출력)
항상 1awk
의 출력을 형식화하는 것과 같은 다른 유틸리티를 사용할 수 있습니다 .ls
/bin/ls -ls | awk '{print $7,$8,$9}'
1. 예, 일반적으로 ls의 출력을 구문 분석해서는 안되지만 이 경우 질문에 구체적으로 요구됩니다 ...
ls
별칭이 지정 되면 (예 : 실패) 실패 할 수 있습니다 alias ls='ls -i'
. ls 출력 구문 분석을 원한다면 실제로 많은주의를 기울여야합니다.
ls
하지만 그것은 OP가 원했던 것입니다 ...
/bin/ls
하면 별칭 문제를 피할 수 있습니다.)
ls
우리가 동의 한 솔루션 이 공백 요구 사항을 충족시키지 않기를 원한다는 것입니다. /bin/ls
제안은 좋은 것입니다.
-h
수 있으며 사람이 읽을 수 있도록 만들 수 있습니다 . 구체적으로 다음 ls -lah | awk '{print $5,$6,$7,$8}'
을 사용했습니다 4.0K Jan 24 18:17
. 물론 원래 솔루션은 awk에 대해 아무 말도하지 않지만 Linux에서는 프로세스의 출력이 항상 다른 프로세스의 입력이 될 것이라고 가정해야합니다. ;)
여기서 공간은 분리 자로 정의되고 f6은 필드 6을 의미합니다.
ls -lt | cut -d" " -f6-
두 명령을 파이프 라인 할 수 있습니다
ls -l|cut -d" " -f5
ls
날짜 시간별로 정렬이 매우 빠르기 때문에 훌륭하지만 서식을 처리하기가 어렵습니다.--time-style='+&%Y%m%d+%H%M%S.%N'
토큰이 '&'인 것처럼 --time-style에서 토큰을 사용하는 것이 좋습니다. 이를 참조로 사용하여 출력을 추가로 구문 분석sed
할 수 있으므로 토큰이 크기 직전과 같이 역 추적 할 수 있습니다! 누군가가 그 답을 완전한 답으로 게시하고 싶을 때, 나는 지금 너무 자고 있습니다 :)