exec与xargs范例详解:linux文件目录批量操作命令
Author:zhoulujun Date:
exec与xargs两者都是对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。
xargs命令
将前一个命令的标准输出传递给下一个命令,作为它的参数,xargs的默认命令是echo,空格是默认定界符
将多行输入转换为单行
xargs常用选项
-n: 指定一次处理的参数个数
-d: 自定义参数界定符
-p: 询问是否运行 later command 参数
-t : 表示先打印命令,然后再执行
-i : 逐项处理
exec与xargs区别
-exec:{}表示命令的参数即为所找到的文件,以;表示comman命令的结束。\是转义符,
因为分号在命令中还有它用途,所以就用一个\来限定表示这是一个分号而不是表示其它意思。
-ok: 和 -exec 的作用相同,格式也一样,只不过以一种更为安全的模式来执行该参数
所给出的shell给出的这个命令之前,都会给出提示,让用户来确定是否执行。
xargs 要结合管道来完成
格式:find [option] express |xargs command
exec和xargs各自的缺点
exec 每处理一个文件或者目录,它都需要启动一次命令,效率不好;
exec 格式麻烦,必须用 {} 做文件的代位符,必须用 \; 作为命令的结束符,书写不便。
xargs 不能操作文件名有空格的文件;
exec参数是一个一个传递的,传递一个参数执行一次命令;xargs一次将参数传给命令,可以使用-n控制参数个数
exec文件名有空格等特殊字符也能处理;xargs不能处理特殊文件名,如果想处理特殊文件名需要特殊处理
综上,如果要使用的命令支持一次处理多个文件,并且也知道这些文件里没有带空格的文件,
那么使用 xargs比较方便; 否则,就要用 exec了。
exec和xargs是如何传参数的:
find test/ -type f
而xargs是把所有找到的文件名一股脑的转给命令。当文件很多时,这些文件名组合成的命
令行参数很容易超长,导致命令出错。
find test/ -type f |xargs echo
find | xargs 这种组合在处理有空格字符的文件名时也会出错,因为这时执行的命令
已经不知道哪些是分割符、哪些是文件名中的空格! 而用exec则不会有这个问题。
linux查看文件个数
find . -name "*" | wc -l
linux案文件类型批量删除文件
find . -name "*.java" |xargs rm -rfv
linux按时间批量操作
按日期批量移动文件
find . -mtime | xargs mv {} ../destinationPath
批量移动文件
cat filename.txt|xargs -t -I {} mv './files1/{}.csv' './files2' cat filename.txt|xargs -t -I {} mv './files1/{}.txt './files2' cat filename.txt|xargs -t -I {} mv './files1/{}.doc' './files2'
linux分别设置文件与文件目录权限方法
find /path -type f -exec chmod 644 {} \; //设置文件权限为644 find /path -type d -exec chmod 755 {} \; //设置目录权限为755
参考文章:
https://www.exec与xargs区别 cnblogs.com/zhangyin6985/p/6008732.html
https://linux xargs命令的使用及其与exec、管道的区别 blog.csdn.net/chenzrcd/article/details/50186881
转载本站文章《exec与xargs范例详解:linux文件目录批量操作命令》,
请注明出处:https://www.zhoulujun.cn/html/OS/Linux/LinuxDevops/8212.html
延伸阅读:
- centos 忘记 密码 如何实现登陆?
- linux查看软件安装目录……
- Linux如何打开端口和设置防火墙:firewall-cmd与iptables配置
- linux文件管理之shell命令汇总—从mkdir和touch发微文件管理
- 前端文件自动上传linux服务器,nginx文件权限设置—linux操作手
- linux查看磁盘、查看文件夹大小、查看文件大小
- selinux限制下载远程图片与访问网络,get_headers与curl都false
- linux如何更改时区?为何没有北京(Asia/Beijing)时区
- ssh登录出现 Connection reset by peer
- Linux服务器同步文件夹方案:ssh rsync同步目录备份系统
- linux文件权限查看与设置,文件权限属性解析
- Linux 目录结构及目录作用
- mac与linux系统终端:解压缩与压缩命令行操作
- Unix目录结构的来历