인수가 전달되지 않은 경우 `ls -d`를 사용하여 `.` 표시를 건너뛸 수 있는 방법이 있나요?

인수가 전달되지 않은 경우 `ls -d`를 사용하여 `.` 표시를 건너뛸 수 있는 방법이 있나요?

.findxargsls -d​일치하는 파일이 없으면 다음을 얻습니다.

.

내 유일한 출력으로 기본적으로 ls -d다음이 표시되기 때문입니다.

.

..., (파일 이름) 인수가 지정되지 않은 경우. 인수가 전달되지 않은 경우 ls -d생략 .하고 출력을 표시하지 않는 방법이 있습니까 ?

업데이트ls -d: 표시하지 않도록 설득할 수는 없습니다 ..

.

ls -d -A\                # Skip implied
   --hide=.\             # No, really, skip implied
   --ignore=.            # I mean it, damn it!

.

:)

답변1

xargs와 함께 사용하는 것은 find정말 1980년대입니다...

전화 예:

find . -type d -exec ls -d {} + 

ls 명령은 인수 없이는 호출되지 않습니다.

findexecplus 기능은 1989년 David Korn이 SVr4에 추가했습니다 .

답변2

태그하셨습니다., 따라서 아마도 다음 옵션이 있는 GNU xargs를 실행할 것입니다.

-r, --no-run-if-empty
    If the standard input does not contain any nonblanks, do not run the command. 

을 사용하면 find ... | xargs -r ls -d아무것도 일치하지 않으면 ls전혀 시작되지 않습니다 .find

find여전히 .명시적으로 일치할 수 있습니다. 이를 방지하려면 ! -name .find 표현식에 추가하세요. 또는 -mindepth 1(GNU find에서)를 사용하여 find명령줄에 제공된 경로와 일치하는 것을 방지합니다.

ls( 무시 하는 방법에 대해서는 .잘 모르겠습니다.)

관련 정보