/etc에서 "a" 또는 "c"로 시작하는 파일을 나열하는 방법 [폐쇄]

/etc에서 "a" 또는 "c"로 시작하는 파일을 나열하는 방법 [폐쇄]

시도했지만 ls /etc/[ac]*다음으로 시작하는 디렉토리가 표시됩니다.또는"로 시작하는 파일이 아닌 전체 내용을 포함합니다." 또는"".

답변1

디렉토리의 내용을 나열하지 않으려면 다음을 수행할 수 있습니다.

ls -d /etc/[ac]*

디렉토리가 나열됩니다.이름a또는 로 시작하는 일반 파일 이름 입니다 c.

완전성을 기하기 위해 다루지 않는 솔루션은 find다음과 같습니다.

ls -ld /etc/[ac]* | grep ^- | tr -s ' ' | cut -d' ' -f9

답변2

재귀적으로:

find /etc -type f -name '[ac]*'

비재귀가 필요한 경우 이식 가능하게 수행할 수 있습니다.

find /etc/. ! -name . -prune -type f -name '[ac]*'

또는 이식성이 없는(GNU 또는 최근 BSD 발견):

find /etc -type f -maxdepth 1 -name '[ac]*'

대소문자를 구분하지 않고 이 작업을 수행하려면 -iname대신 를 사용하세요 -name.

답변3

디렉토리(디렉토리의 내용이 아님)와 파일을 원하면 printfbultin을 사용할 수 있습니다.

printf "%s\n" [ac]*

예:

$ printf "%s\n" [te]*
examples.desktop
teamviewer_linux.deb
test.php
test.txt

답변4

이 명령을 시도해 볼 수도 있습니다.

for file in /etc/[ac]*; do echo $file; done | xargs file | awk -v FS=" +" '$2~/directory/ {next;} {print $1}' | sed 's|\/etc\/||g;s/://g'

관련 정보