ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux xargs与exec(6)

2022-03-26 11:03:04  阅读:186  来源: 互联网

标签:xargs exec -- bak1 Linux txt root bak


xargs应用:


xargs的作用就是把管道符前面的输出作为xargs后面的命令的输入它的好处在于可以把本来两步或者多步才能完成的任务简单一步就能完成。

入门例子

touch {a..d}.txt

ls *.txt | xargs ls -l

命令输出结果

-rw-r--r-- 1 root root 0 9月  22 15:02 a.txt
-rw-r--r-- 1 root root 0 9月  22 15:02 b.txt
-rw-r--r-- 1 root root 0 9月  22 15:02 c.txt
-rw-r--r-- 1 root root 0 9月  22 15:02 d.txt

具体实践


参数说明

-i{}把前面的对象使用{}取代   -t查看实际运行的命令  -n分组处理

 

参数替换 -i

ls *.txt | xargs  -i{} mv {} {}.bak 

命令输出结果

a.txt.bak  b.txt.bak  c.txt.bak  d.txt.bak

 

查看实际运行的命令 -t

ls *.bak | xargs  -t -i{} mv {} {}.bak1 

mv a.txt.bak a.txt.bak.bak1 
mv b.txt.bak b.txt.bak.bak1 
mv c.txt.bak c.txt.bak.bak1 
mv d.txt.bak d.txt.bak.bak1 

 

分组 -n

ls *.bak1 | xargs -t -n1 ls -l

ls -l a.txt.bak.bak1 
-rw-r--r-- 1 root root 0 9月  22 15:02 a.txt.bak.bak1
ls -l b.txt.bak.bak1 
-rw-r--r-- 1 root root 0 9月  22 15:02 b.txt.bak.bak1
ls -l c.txt.bak.bak1 
-rw-r--r-- 1 root root 0 9月  22 15:02 c.txt.bak.bak1
ls -l d.txt.bak.bak1 
-rw-r--r-- 1 root root 0 9月  22 15:02 d.txt.bak.bak1

exec应用:


使用find命令时,经常使用一个选项就是这个-exec了,可以达到和xargs同样的效果。

比如找出当前目录以.bak1结尾的文件 并且删除

find . -type f -name "*.bak1" -exec rm -rf {} \;

参考链接:

http://c.biancheng.net/linux/xargs.html

https://www.cnblogs.com/ftl1012/p/9250438.html

标签:xargs,exec,--,bak1,Linux,txt,root,bak
来源: https://www.cnblogs.com/tanff/p/15320005.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有