xargs 常用参数
1。echo a b c d e f | xargs -n3 -I echo before {} after
result: before a b c d e f after
2. echo a b c d e f | xargs -I -n3 echo before {} after
result:
before a b c after
before d e f after
参数位置不同,现实的结果不一样
n,设置一次传几个参数如command
3。 ls | xargs -t -I mv {} {}.bak
-I 选项告诉 xargs 用每项的名称替换 {}。小写的i已经废弃,改用大写的I
-t 选项指示 xargs 先打印命令,然后再执行。
4。下面显示了如何限制每个命令行仅使用两个参数:即使向 xargs ls -ltr 传递五个文件,但每次向 ls -ltr 仅传递两个文件。
file * | grep ASCII | cut -d":" -f1 | xargs -t -n2 ls -ltr
ls -ltr alert_DBA102.log dba102_cjq0_14493.trc
-rw-r----- 1 oracle dba 738 Aug 10 19:18 dba102_cjq0_14493.trc
-rw-r--r-- 1 oracle dba 2410225 Aug 13 05:31 alert_DBA102.log
ls -ltr dba102_mmnl_14497.trc dba102_reco_14491.trc
-rw-r----- 1 oracle dba 5386163 Aug 10 17:55 dba102_mmnl_14497.trc
-rw-r----- 1 oracle dba 6808 Aug 13 05:21 dba102_reco_14491.trc
ls -ltr dba102_rvwr_14518.trc
-rw-r----- 1 oracle dba 2087 Aug 10 04:30 dba102_rvwr_14518.trc