디렉터리 및 하위 디렉터리의 모든 파일을 시간 역순으로 나열하려면 어떻게합니까?
나는 같은 일을하고 ls -t
싶지만 하위 디렉토리에 파일이 포함되어 있습니다. 그러나 문제는 다음과 같은 형식의 출력을 원하지 ls -R
않는다는 것입니다.
[test]$ ls -Rt
b testdir test
./testdir:
a
find
명령이 하위 디렉토리에 파일을 표시하는 것처럼 포맷되기를 원합니다 . 즉 :
[test]$ find .
.
./b
./test
./testdir
./testdir/a
그러나 find
하지 않는 것은 마지막 업데이트 시간을 기준으로 결과를 시간순으로 정렬하는 것입니다.
그렇다면 디렉토리 및 하위 디렉토리의 모든 파일을 해당 형식으로 find
시간 역순으로 나열하려면 어떻게해야합니까?
이걸로 해봐:
find . -type f -printf "%T@ %p\n" | sort -nr | cut -d\ -f2-
ls -lR
홈 디렉토리의 모든 파일, 디렉토리 및 하위 디렉토리 ls -lR | more
를 표시하는 것은 흐름의 모든 파일을 표시하는 데 사용됩니다.
보려는 파일 수가 최대 인수 제한에 맞으면 globstar를 지원하는 경우 재귀를 사용하여 원하는 것을 얻기 위해 globbing을 사용할 수 있습니다.
정확히 2 개의 레이어 깊이 사용 : ls -d * */*
globstar를 사용하여 재귀 사용 : ls -d **/*
-d
에 인수 ls
(당신이 재귀를 수행하는 글 로빙 쉘을 사용하고 있기 때문에) 인수로 전달 디렉토리를 재귀하지 말 것을 알려줍니다. 이렇게하면 ls
재귀 형식을 사용할 수 없습니다.
find -type f -print0 | xargs -0 ls -t
단점 : 특정 양의 파일에만 작동합니다. 너무 많은 양의 파일이있는 경우 더 복잡한 것이 필요합니다.
시도 find . -type d
하거나find . -type d -ls
이 시도:
ls -ltraR |egrep -v '\.$|\.\.|\.:|\.\/|total' |sed '/^$/d'
wfg5475의 대답 에있는 명령 은 제대로 작동합니다. 디렉토리 및 하위 디렉토리의 파일 만 표시하려면 한 가지만 추가하면됩니다.
ls -ltraR |egrep -v '\.$|\.\.|\.:|\.\/|total|^d' |sed '/^$/d'
한 가지 추가 : ^d
목록 출력에서 모든 디렉토리 무시
'development' 카테고리의 다른 글
기본 클래스에서 공개적으로 상속하지만 파생 클래스에서 기본 클래스의 일부 공용 메서드를 개인으로 만드는 방법은 무엇입니까? (0) | 2020.12.29 |
---|---|
오른쪽으로 떠있는 것과 왼쪽으로 떠있는 것 사이에 div를 중앙에 배치 (0) | 2020.12.29 |
Ajax 호출에서 세션 시간 초과 처리 (0) | 2020.12.28 |
iOS의 키 체인에 이메일 / 비밀번호 저장 (0) | 2020.12.28 |
Traversable의 foreach 메서드에서 현재 요소의 인덱스를 가져 오나요? (0) | 2020.12.28 |