find
xargs
결과 에 명령이 전달되었습니다 ls -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 명령은 인수 없이 호출되지 않습니다.
find
David Korn은 1989년 SVr4에 execplus 기능을 추가했습니다.
답변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 .
찾기 표현식에 추가하세요. 또는 명령줄에 제공된 경로와 일치하는 것을 -mindepth 1
방지하려면 (GNU 찾기에서)를 사용하세요.find
ls
( 무시 하는 방법은 .
잘 모르겠습니다.)