KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I want to know exactly what {} \; and {} \+ and | xargs ... do. Please clarify these with explanations. Below 3 commands run and output same result but the first command takes a little time and the format is also little different. find . -type f -exec file {} \; find . -type f -exec file {} \+ find . -type f | xargs file It's because 1st one runs the file command for every file coming from the find command. So, basically it runs as: file file1.txt file file2.txt But latter 2 find with -exec commands run file command once for all files like below: file file1.txt file2.txt Then I run the following commands on which first one runs without problem but second one gives error message. find . -type f -iname '*.cpp' -exec mv {} ./test/ \; find . -type f -iname '*.cpp' -exec mv {} ./test/ \+ #gives error:find: missing argument to `-exec' For command with {} \+ , it gives me the error message find: missing argument to `-exec' why is that? can anyone please explain what am I doing wrong?
Tags (comma-separated)
Save Edits
Cancel