GNU find를 사용하여 한 번에 여러 파일 형식을 검색하는 방법은 무엇입니까?

GNU find를 사용하여 한 번에 여러 파일 형식을 검색하는 방법은 무엇입니까?

GNU find 명령을 사용하여 한 번에 여러 파일 형식을 일치시키는 방법(하나의 검색 명령)?

매뉴얼 페이지에는 다음과 같이 나와 있습니다.

-type c
    File is of type c:
    b      block (buffered) special
    c      character (unbuffered) special
    d      directory
    p      named pipe (FIFO)
    f      regular file
    l      symbolic link; this is never true if the -L option or the -follow
           option  is in  effect,  unless  the  symbolic link is broken.  If
           you want to search for symbolic links when -L is in effect, use
           -xtype.
    s      socket
    D      door (Solaris)

f파일( )과 심볼릭 링크( l)를 검색하여 다른 프로세스로 파이프하고 싶습니다 . 동시에 검색하는 방법은 무엇입니까?

나는 열심히 노력했다

find -type fl | …
find -type f -type l | …
find -xtype f -type l | …

해결책은 서브쉘을 사용하는 것이라는 것을 알고 있습니다.

(find -type f; find -type l) | …

하지만 난 그냥 알고 싶어만약에가능한.

답변1

find를 사용하여 논리 연산자를 그룹화하고 사용할 수 있지만 모든 파일과 링크를 찾으려면 대괄호를 이스케이프해야 합니다.

find \( -type f -o -type l \) <other filters>

따라서 이름이 t로 시작하는 모든 파일과 링크를 원하면 다음을 수행할 수 있습니다.

find \( -type f -o -type l \) -name 't*'

괄호는 항목을 그룹화하고 다른 연산자와 결합하려는 경우에만 필요하므로 다른 검색 기준이 없으면 생략할 수 있습니다.

답변2

이 시도:

find -type f -o -type l

답변3

-aand(for ) 또는 (for ) 를 사용하여 -o조건자를 결합 할 수 있습니다 or. 따라서 다음을 입력할 수 있습니다.

find /path -type f -o -type l

관련 정보