1. 程式人生 > >Linux命令簡介之xargs

Linux命令簡介之xargs

查找文件 rgs UC ls -l 用法示例 type args 令行 處理

今天開始總結下學到過的命令,主要自己學習使用。今天先總結下xargs

xargs 向其他命令傳遞命令行參數的過濾器。
選項
-n 指定每行多少列
-i 以{}代替前面的內容
-d 指定分隔符
-0 配合find的-print0 來處理名稱帶空格的文件

用法示例:

1 -n 用法
[root@mail tmp]# cat sed.txt
stu1
123
stu2
222

[root@mail tmp]# xargs <sed.txt
stu1 123 stu2 222

[root@mail tmp]# xargs -n2<sed.txt
stu1 123
stu2 222

[root@mail tmp]# echo stu{1..3}|xargs -n1

stu1
stu2
stu3

2 -i 用法
查找文件並復制到/tmp
[root@mail tmp]# find /etc -type f -name "passwd" |xargs -i cp {} /tmp

3 -d用法
[root@mail tmp]# echo aaaxdddxccc|xargs -d x -n1
aaa
ddd
ccc

4 -0(零)用法
[root@mail tmp]# touch "a b.txt"
[root@mail tmp]# find -name ".sss" -print0|xargs -0 ls -l
-rw-r--r-- 1 root root 0 Jun 20 09:19 ./a b.sss

因為名稱帶有空格,所有用xargs只能用此法處理,如果用-exec則不用,示例如下:
[root@mail tmp]# find -name "
.sss" -exec ls -l {} \;
-rw-r--r-- 1 root root 0 Jun 20 09:19 ./a b.sss

Linux命令簡介之xargs