exec与xargs区别】的更多相关文章

区别描述: 两者都是对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令. -exec:{}表示命令的参数即为所找到的文件,以:表示comman命令的结束.\是转义符,因为分号在命令中还有它用途,所以就用一个\来限定表示这是一个分号而不是表示其它意思. -ok: 和 -exec 的作用相同,格式也一样,只不过以一种更为安全的模式来执行该参数所给出的shell给出的这个命令之前,都会给出提示,让用户来确定是否执行. xargs 要结合管道来完成格式:find [option]…
1.find默认查找当前目录和子目录,通过maxdepth限制只查当前目录: find . -maxdepth 1 -type f -name "*.php" 2. find . -name "*.txt" -exec rm {} \; find . -name "*.txt" | xargs rm {} -exec     1.参数是一个一个传递的,传递一个参数执行一次rm     2.文件名有空格等特殊字符也能处理 -xargs      1…
find . -name "*.txt" -exec rm {} \;find . -name "*.txt" | xargs rm {} -exec    1.参数是一个一个传递的,传递一个参数执行一次rm    2.文件名有空格等特殊字符也能处理-xargs     1.一次将参数传给命令,可以使用-n控制参数个数    2.处理特殊文件名需要采用如下方式:    find . -name "*.txt" print0 |xargs -0 r…
find的exec及ok命令 exec命令的格式为: exec command {} \; exec后面跟着的是操作命令,然后跟着{}表示每一个参数,然后空格,然后"\;".{}之后一定要跟一个空格,exec命令以:作为结束,为了表名:只是一个结束符,使用转义字符\加在:前面. ok命令和exec作用相同,唯一的区别在于ok是exec命令的安全模式,在执行command之前会给出提示. xargs命令 xargs命令需要结合管道符|使用,其格式为:** | xargs command…
实地在shell里执行下如下命令就知道区别了: $ find -type f -exec echo {} \; 很明显,exec是对每个找到的文件执行一次命令.从这里可以看出exec的缺点是每处理一个文件/目录,都要启动一次命令,效率不好; 格式麻烦,必须用 {} 做文件的代位符,必须用 "\;" 作为命令的结束符,书写不便.   $ find -type f | xargs echo xargs是把所有找到的文件名一股脑的转给命令.当文件很多时,这些文件名组合成的命令行参数很容易超长…
-exec    1.参数是一个一个传递的,传递一个参数执行一次rm    2.文件名有空格等特殊字符也能处理-xargs     1.一次将参数传给命令,可以使用-n控制参数个数    2.处理特殊文件名需要采用如下方式:    find . -name "*.txt" print0 |xargs -0 rm {} find /opt/test/ -type f -name "*.txt" -exec cp {} /tmp \; find /opt/test/ -…
-exec     1.参数是一个一个传递的,传递一个参数执行一次,效率低     2.文件名有空格等特殊字符也能处理 -xargs      1.一次将参数传给命令,可以使用-n控制参数个数     2.处理特殊文件名需要采用如下方式:find . -name "*.txt" -print0 |xargs -0 rm {}  技巧: find -print0  与 xargs -0 的结合避免文件名有特殊字符如空格,引号等无法处理:    3.有些命令不支持多个参数,需要用-n 1…
注意xargs会被空格割裂,所以遇到带有空格的文件名就不好办了,解决方法是使用-print0 例如:删除.目录下30天之前的.png文件 -type f -name rm 或者使用-exec:删除.目录下最近30天的.png文件 -type f -name "*.png" -exec rm {} \; 注意{}与\;有空格…
test.exec.match的简单区别 1.test test 返回 Boolean,查找对应的字符串中是否存在模式. var str = "1a1b1c"; var reg = new RegExp("1.", ""); alert(reg.test(str)); // true 2.exec exec 查找并返回当前的匹配结果,并以数组的形式返回. var str = "1a1b1c"; var reg = new Re…
1. 来源分别为: string.match(reg) 和 RegExp.exec(str): 2. 区别 >  现有 字符串s1 和 正则对象 r1.     目标: 抽出s1中的所有电话号码 var s1 = "爱是方法发生说法是否18324569078放弃而且我15656783456时光是大法官17699098765"; {}\d{})+/g; >  string.match(reg) 方法参数为reg对象 1. 当reg为全局表达式 //g 时: 返回所有的匹配结果…