다음을 수행하는 간단한 스크립트를 만들고 싶습니다.
cd /specified/directory
cd into child directory only if it has a 4 digit name e.g 1234
rm -r all files that begin with letter P
rm -r all files that begin with letter E
exit child directory
check for next directory with 4 digit number
repeat task
End
답변1
많은 수의 파일에 대한 작업을 수행하도록 파일 이름 확장을 허용하면 환경 공간이 소모될 수 있습니다(특히 일부 UNIX 시스템에서). 그래서 저는 찾기를 사용하여 삭제하려는 파일을 식별합니다.
어떤 파일이 삭제되는지 확인하려면 다음을 실행하세요.
find $(find /specified/directory -d -name "[0-9][0-9][0-9][0-9]") -name "[E|P]*" -print
이를 제거하려면 -exec 옵션을 사용하여 확장할 수 있습니다.
find $(find /specified/directory -d -name "[0-9][0-9][0-9][0-9]") -name "[E|P]*" -exec rm -i {} \;
답변2
이를 위해 루프나 스크립트를 사용할 필요가 없습니다.파일 이름 확장자해당 작업을 수행하십시오.
rm /specified/directory/[0-9][0-9][0-9][0-9]/{P,E}*
이는 4자리 이름과 /specified/directory
또는로 시작하는 파일 이름이 있는 하위 디렉터리의 모든 파일과 일치합니다.P
E