발견됨: '-exec' 매개변수 누락

발견됨: '-exec' 매개변수 누락

프로그래밍 세계에 완전히 입문한 제가 처음으로 올리는 글입니다. 기본적으로 UNIX 강좌를 수강하고 있는데 홈 디렉터리에 있는 일반 파일의 크기를 확인하고 크기가 1KB 이상인 파일을 찾은 다음 압축 파일로 백업해야 하는 과제가 있습니다. . 압축 파일에 확장자 .bak를 사용한 다음 정리해야 합니다. 지금까지 나는 이것을 가지고 있습니다 :

find . -maxdepth 1 -type f -size +1k -exec gzip -k -S.bak'{}'\;-exec cp'lab4.bak'/IFT383ss16/Labs/ \;   
find: paths must precede expression  
Usage: find [-H] [-L] [-P] [path...] [expression]

여기서 도움이나 조언을 얻을 수 있는지 알고 싶었나요?

답변1

제가 보기에는 당신이 공백 문자에 인색한 것 같습니다.

{}앞, 앞, 뒤, 뒤에 \;공백이 필요합니다. 작은 따옴표도 필요하지 않습니다.cp'lab4.bak'{}

두 번째 -exec ...-exec cp {}.bak /IFT383ss16/Labs/ \;

이 시도:

find . -maxdepth 1 -type f -size +1k \
    -exec gzip -k -S.bak {} \; \
    -exec cp {}.bak /IFT383ss16/Labs/ \;   

이것들은 모두 한 줄에 배치될 수 있습니다. 나는 \더 읽기 쉽게 만들기 위해 처음 두 줄의 끝에 s를 사용했습니다. (셸은 다음 줄의 연속으로 공백이 아닌 마지막 문자로 a가 있는 줄을 읽습니다.) 줄 끝에 있는 s를 제거하고 직접 줄을 연결하면 \한 줄에서도 동일한 효과가 나타납니다 .\

그런데 .bak 파일을 복사하시겠습니까, 아니면 이동하시겠습니까? 어쩌면 mv대신 사용할 수도 있습니다 cp.

관련 정보