file1
올바른 경로와 잘못된 경로 등 경로를 제외한 하위 디렉터리에서 모든 파일 이름을 가져와야 합니다 ./folder/file1
. 내 사용 사례는 /usr/share/terminfo
디렉토리 내에 있는 사용 가능한 모든 terminfo 파일 이름을 검색하는 것입니다. 그러나 이들은 아래와 같이 다른 하위 디렉터리 세트 안에 있습니다.
terminfo ア ls
1 3 5 7 9 A c e f h j l m n o P Q s u w X
2 4 6 8 a b d E g i k L M N p q r t v x z
terminfo ア cd 1
1 ア ls
1178 1730-lm
1
3
파일이 이러한 디렉터리 또는 하위 디렉터리 내에 있는 것을 볼 수 A
있으며 각 하위 디렉터리에 모든 파일 이름이 필요합니다. 42 directories, 2720 files
전체적으로 수동 프로세스가 너무 많으면 피곤할 수 있습니다 .
답변1
find /usr/share/terminfo -type f -exec basename {} \;
답변2
우리가 원하는 파일 이름이 두 수준 아래에 있고 /usr/share/terminfo
그 아래에 다른 디렉터리가 없다는 것을 알고 있으므로 이것이 빠른 해결책이 될 것입니다( find
한 번만 수행 cut
).
$ find /usr/share/terminfo -type f | cut -d '/' -f 6
또는 sed
약간 "무거운" 것으로 교체하십시오.
$ find /usr/share/terminfo -type f | sed 's#^.*/##'
교체는 sed
의 각 출력 줄의 마지막 줄까지 모든 것을 제거합니다./
find
답변3
1회 사용나무
(렌트리에 대한 세부정보)
tree -i /usr/shar/terminfo
또는 디렉터리를 삭제하려면 다음을 수행하세요.
tree -iF /usr/shar/terminfo | grep -v /
2 사용엘에스
ls -R /usr/share/terminfo | grep -v /
ls /usr/share/terminfo/*/* | grep -o '[^/]*$'
basename -a $(ls /usr/share/terminfo/*/*)