前言:最近几天使用find的高级功能,但执行到 -exec命令的时候总是提示错误
信息如下:“find: missing argument to `-ok' ”,花了点时间,研究了下帮助(man),终于是搞清楚了。
说明:find命令,配合-exec参数,可以对查询的文件进行进一步的操作,可以得到很多有用的功能,比如说文件包含特定字符串的查询等,要了解这个功能,最简单直接的就是看find命令帮助,列出
-exec command ;
Execute command; true if 0 status is returned. All following arguments to find are taken to be arguments to the command until an argument consisting of #;' is encountered. The string {}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find. Both of these constructions might need to be escaped (with a \') or quoted to protect them from expansion by the shell. The command is executed in the starting directory.
其实只要读懂这段话就理解了
废话少说,这里简单说明一下
-exec 参数后面跟的是 command命令,注意点如下:
command命令的终止,使用 ';' (分号)来判定,在后面必须有一个 ';'
'{}',使用{}来表示文件名,也就是find前面处理过程中过滤出来的文件,用于command命令进行处理
特别强调,对于不同的系统,直接使用分号可能会有不同的意义, 使用转义符 '\'在分号前明确说明,对于前面我们遇到的问题,主要就是这个原因引起的!
1.查询所有保护字符串“Hello”的文件
find / -exec grep "Hello" {} \;
2.删除所有临时文件
find / -name "*.tmp" -exec rm -f {} \;
前言:最近几天使用find的高级功能,但执行到 -exec命令的时候总是提示错误信息如下:“find: missing argument to `-ok' ”,花了点时间,研究了下帮助(man),终于是搞清楚了。说明:find命令,配合-exec参数,可以对查询的文件进行进一步的操作,可以得到很多有用的功能,比如说文件包含特定字符串的查询等,要了解这个功能,最简单直接的就是看find命令帮...
在使用 find
命令
的-
exec
选项处理匹配到的文件时, find
命令
将所有匹配到的文件一起传递给
exec
执行。但有些系统对能够传递给
exec
的
命令
长度有限制,这样在find
命令
运行几分钟之后,就会出现溢出
错误
。
错误
信息通常是“
参数
列太长”或“
参数
列溢出”。这就是xargs
命令
的用处所在,特别是与find
命令
一起使用。
find
命令
把匹配到的文件传递给xargs
命令
,而xargs
命令
每次只获取一部分文件而不是全部,不像-
exec
选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
在有些系统中,使用-
exec
选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹
netstat -ant |find /C "192" //注意必须加上引号,否则包
参数
格式不正确
同样的
命令
在powershell 重执行报
参数
格式不正确。
因为在powershell中使用带双引号的字符串,会进行变量扩展而被剥离,若要使用双引号,前面需加上转义符(`)
netstat -ant |find /C `"192`"
前言:最近几天使用find的高级功能,但执行到 -
exec
命令
的时候
总是
提示
错误
信息如下:“find: missing argument to `-ok' ”,花了点时间,研究了下帮助(man),终于是搞清楚了。
说明:find
命令
,配合-
exec
参数
,可以对查询的文件进行进一步的操作,可以得到很多有用的功能,比如说文件包含特定字符串的查询等,要了解这个功能,最简单直接的就是看find
命令
帮...
这里使用的是centos5.5系统,在执行find
命令
带有
exec
扩展
命令
的时发生了
错误
提示,这时候需要注意带不带空格:
例如:find ./jquery-ui/ -name “*svn” -
exec
rm -rf {}\;
这样写肯定会报错,”find: 遗漏”-
exec
”的
参数
”
报错的原因是书写的问题,应该这样写:
find ./jquery-ui/ -name “*svn” -ex...
今日执行find
命令
带有
exec
扩展
命令
的时发生了
错误
提示,如:find :遗漏“-
exec
”的
参数
;查询相关资料,记录解决方法 ;
其实这时候需要注意带不带空格:
例如:find ./jquery-ui/ -name “*svn” -
exec
rm -rf {}\;
这样写肯定会报错,”find: 遗漏”-
exec
”的
参数
”
报错的原因是书写的问题,应该这样写:
find ./jquery-ui/ -name “*svn” -
exec
rm -rf {} \;
发现没有是空格 ,{}后面还需要
[root@localhost ~]# find / -name anaconda-ks.cfg -
exec
ls -i {} \;
17980687 /root/anaconda-ks.cfg
[root@localhost ~]# find / -name anaconda-ks.cfg -ok rf {} \;
< rf ... /root/anaconda-ks.cfg >...
BusyBox v1.29.0.git (2018-09-29 12:01:19 CST) multi-call binary.
Usage: find [-HL] [PATH]... [OPTIONS] [ACTIONS]
Search for files and perform actions on them.
First failed action ..
find -
exec
这个
命令
组合很好用,在find
命令
后加上 -
exec
,就可以把找出来的东西进行操作。
之前写过一篇Linux
命令
:find与
exec
参数
的用法
#find ./ -name Thumbs.db -
exec
rm -f {} \; 查找本目录下所有的Thumbs.db并删除
但有的linux系统下会提示
错误
信息:find: 遗漏“-
exec
”的
*find: missing argument to `-
exec
’ 或 find: 遗漏“-
exec
”的
参数
*
find
命令
格式:find [查找目录] [查找规则] [查找完后的操作]
即:find pathname -option [-print -
exec
-ok …]
举例:find . -name '*.c' -
exec
cp -r ...
python】爬虫:短信验证码的获取
Making.:
python】爬虫:短信验证码的获取
h15771780185:
Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 1 (char 1)
python requests的content和text方法的区别
python 占位符
Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 1 (char 1)
python requests的content和text方法的区别
python 占位符