xargs命令学习

1.xargs复制文件

目录下文件结构为:

.

├── demo1

│   ├── test.lua

│   ├── test.php

│   └── test.txt

└── demo2

  

执行命令:

find ./demo1/ -name  'test*'|cp `xargs` ./demo2/

  

目录结构为:

.

├── demo1

│   ├── test.lua

│   ├── test.php

│   └── test.txt

└── demo2

    ├── test.lua

    ├── test.php

    └── test.txt

 

  

2.xargs复制文件

[root@lx xargsTest]# tree

.

├── demo1

│   ├── test.lua

│   ├── test.php

│   └── test.txt

└── demo2

    ├── test.lua

    ├── test.php

    └── test.txt

find ./demo1/ -name  'test*'|xargs -i cp {} {}.bak

.

├── demo1

│   ├── test.lua

│   ├── test.lua.bak

│   ├── test.php

│   ├── test.php.bak

│   ├── test.txt

│   └── test.txt.bak

└── demo2

    ├── test.lua

    ├── test.php

    └── test.txt

  

3.xargs删除文件

查询以.bak结尾的文件

 find ./demo1/ -name  '*.bak'

  

./demo1/test.txt.bak

./demo1/test.lua.bak

./demo1/test.php.bak

  

删除这些文件

find ./demo1/ -name  '*.bak'|xargs rm -fr

  

[root@lx xargsTest]# tree

.

├── demo1

│   ├── test.lua

│   ├── test.php

│   └── test.txt

└── demo2

    ├── test.lua

    ├── test.php

    └── test.txt

  

删除成功

原文地址:https://www.cnblogs.com/lisqiong/p/5732850.html