find命令find: missing argument to解决方法
Posted 白-胖-子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了find命令find: missing argument to解决方法相关的知识,希望对你有一定的参考价值。
find搜索姿势
默认先处理文件夹,再处理文件夹
find [选项] [路径] [查找条件] [处理动作]
find后接命令
find命令强大之处在于
- 可以在查找到内容后,调用命令对查找到的内容进行进一步的处理
查看find帮助文件
- [处理动作]相关内容
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
-fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
-exec COMMAND ; -exec COMMAND + -ok COMMAND ;
-execdir COMMAND ; -execdir COMMAND + -okdir COMMAND ;
按照帮助文件执行报错
[root@C6-56 ~]# find ./ -name 'Video*' -exec rm -rf
find: missing argument to `-exec'
[root@C6-56 ~]# find ./ -name 'Video*' -exec rm -rf ;
find: missing argument to `-exec'
正确find加命令处理姿势
find -name "*.sh" -ok mv /opt \\; 问一次移一次
find -name "*.sh" -exec mv /opt \\;不问直接移
花括号相当于find内置变量,代表前边find查找到的结果
一旦有-ok 或者有 -exec 后边就必须有 ;结束,这个是语法要求
实例1:查找当前目录下所有zip文件并删除
[root@C6-56 ~]# find ./ -name '*.zip'
./Videos.tar.zip
[root@C6-56 ~]# find ./ -name '*.zip' -exec rm
find: missing argument to `-exec'
[root@C6-56 ~]# find ./ -name '*.zip' -exec rm
find: missing argument to `-exec'
[root@C6-56 ~]# find ./ -name '*.zip' -exec rm
find: missing argument to `-exec'
[root@C6-56 ~]# find ./ -name '*.zip' -exec rm \\;
[root@C6-56 ~]# find ./ -name '*.zip'
实例2:查找当前目录下包含123的文件和文件夹并删除
[root@C6-56 ~]# ll 123*
-rw-r--r--. 1 root root 81 Apr 8 13:03 123.txt
-rw-r--r--. 1 root root 53 Apr 8 09:10 123.txt.bak
123:
total 8
-rw-r--r--. 1 root root 7 Apr 8 07:09 123.txt
drwxr-xr-x. 3 root root 4096 Apr 8 07:09 321
[root@C6-56 ~]# find ./ -name '123*'
./123.txt.bak
./123
./123/123.txt
./123/321/123
./123/321/123/123.txt
./123/321/123.txt
./123.txt
[root@C6-56 ~]# find ./ -name '123*' -exec rm -rf
find: missing argument to `-exec'
[root@C6-56 ~]# find ./ -name '123*'
./123.txt.bak
./123
./123/123.txt
./123/321/123
./123/321/123/123.txt
./123/321/123.txt
./123.txt
[root@C6-56 ~]# find ./ -name '123*' -exec rm -rf ;
find: missing argument to `-exec'
[root@C6-56 ~]# find ./ -name '123*'
./123.txt.bak
./123
./123/123.txt
./123/321/123
./123/321/123/123.txt
./123/321/123.txt
./123.txt
[root@C6-56 ~]# find ./ -name '123*' -exec rm -rf \\;
find: `./123': No such file or directory
[root@C6-56 ~]# find ./ -name '123*'
[root@C6-56 ~]#
以上是关于find命令find: missing argument to解决方法的主要内容,如果未能解决你的问题,请参考以下文章
[Algorithm] Find first missing positive integer
How to find missing USB Records?
Lintcode196 Find the Missing Number solution 题解
[LintCode] Find the Missing Number II