숨겨진 디렉터리만 표시하고 숨겨진 파일을 개별적으로 찾는 방법

숨겨진 디렉터리만 표시하고 숨겨진 파일을 개별적으로 찾는 방법

한 디렉토리에 있는 모든 숨겨진 파일을 나열하려고 하지만 다른 디렉토리는 나열하지 않고 ls와 grep만 사용하여 이 작업을 수행하려고 합니다.

ls -a | egrep  "^\."

이것이 내가 지금까지 가지고 있는 것이지만, 문제는 내가 원하지 않을 때 숨겨진 디렉토리도 나열한다는 것입니다.

그런 다음 숨겨진 디렉터리를 완전히 별도로 나열하고 싶습니다.

답변1

목록만숨겨진 파일:

ls -ap | grep -v / | grep "^\."  

알아채다문서이것은 디렉토리의 전체 내용이 아닙니다. 다음 위치에 보관되지 않음"리눅스의 모든 것은 파일이다";)

목록만숨겨진 디렉토리:

ls -ap | grep "^\..*/$"  

논평:

  • ls -ap/숨겨진 디렉터리를 포함하여 현재 디렉터리의 모든 항목을 나열하고 디렉터리 끝에 추가합니다.
  • grep -v /grep /디렉터리가 포함되지 않도록 결과를 반전시킵니다 .
  • "^\..*/$".로 시작하고 끝나는 모든 항목과 일치합니다 /.
  • 두 번째 부분의 결과에서 및 디렉터리를 제외하려면 .for 대신 옵션을 사용하거나 정규식을 사용하려는 경우 대신 사용할 수 있습니다...-A-als"^\.[^.]+/$""^\..*/$"

재미있게 보내세요!

답변2

및 ..을 포함하여 현재 디렉터리의 숨겨진 파일 및 디렉터리를 나열합니다.

echo .*

현재 디렉터리와 그 하위 디렉터리에 있는 숨겨진 파일과 디렉터리를 반복적으로 나열합니다.

find . -name '.*'

결과를 파일에 저장하려면 리디렉션을 사용하십시오.

find . -name '.*' >output-file.txt

답변3

zsh(아직 하지 않은 경우) 로 전환 하고 실행하십시오.

ls .*(^/)

괄호 안의 부분을 전역 한정자라고 하며 디렉터리를 제외한 모든 항목이 선택되었음을 의미합니다.

일반 파일에만 관심이 있어 디렉터리뿐만 아니라 다른 특수 파일(이름이 지정된 파이프 등)도 제외하는 경우 시도해 보세요.

ls .*(.)

답변4

다음 명령을 시도해 보세요.

find -maxdepth 1 -type f -name '.*' | sed 's/^..//'

이는 현재 디렉터리(-maxlength 1)에서 "."로 시작하는 파일(-type f)만 찾고, sed 명령은 각 줄에서 "./"를 제거합니다.

관련 정보