find 명령의 각 결과에 대한 파일을 생성하시겠습니까?

find 명령의 각 결과에 대한 파일을 생성하시겠습니까?

이 코드 줄을 사용하여 각 결과에 대한 출력을 생성합니다.

exec("find ics/ -mmin +3 -type f -name '*.pdx' -exec basename {} ';' > ./tmp/filename") 

매번 동적 파일 이름으로 파일을 생성하는 방법은 무엇입니까? 이와 같이:

./tmp/filename_{*Here should be the dynamic name*}

답변1

새 셸을 시작하고 이 파일을 인수로 제공할 수 있습니다. 그런 다음 POSIX 매개변수 확장을 사용하여 경로와 (필요한 경우) 확장을 제거합니다.

find . -type f -name "*.pdx" \
  -exec sh -c \
    'base="${0##*/}"; printf "%s\n" "$base" > ./tmp/filename_"${base%.pdx}"' {} \;

관련 정보