백업 파일에서 주간 디렉토리로 복사하는 다음과 같은 쉘 스크립트가 있습니다.
#!/bin/sh
find . type f \( -iname "SS1*.tar" -o -iname "SS2*.tar" -o -iname "SS3*.tar" -o -iname "SS4*.tar"\) -exec cp {} /backup_file/backup/weekly \;
따라서 실행한 후 "잘못된 표현식"이라는 오류 메시지가 나타납니다.
이 문제를 해결하도록 도와주세요.
답변1
두 가지 구문 오류가 있습니다.
type f
이어야 합니다-type f
.- 앞에 공백이 필요합니다
\)
.
그래서 수정된 명령은 다음과 같습니다.
find . -type f \( -iname "SS1*.tar" -o -iname "SS2*.tar" -o -iname "SS3*.tar" -o -iname "SS4*.tar" \) -exec cp {} /backup_file/backup/weekly \;
답변2
더 간단하다:find . -type f -iname "SS[1234]*.tar" -exec cp {} /backup_file/backup/weekly \;