将输入项替换为占位符 {}:echo "file1 file2 file3" | xargs -I {} cp {} /backup/ 这会将 file1、file2、file3 分别复制到 /backup/ 目录。示例5:交互式模式(-p)在执行命令前提示用户确认:echo "file1 file2 file3" | xargs -p rm 输出:rm file1 file2 file3 ?...y 输入y 确认执行。...
catarg.txt|xargs-I{}./sk.sh -p{}-l -p aaa -l -p bbb -l -p ccc -l 复制所有图片文件到 /data/images 目录下: ls*.jpg|xargs-n1 -Icp{}/data/images 结合find 命令使用 xargs 结合 find 使用 用rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long. 用xargs去避...
find. -typef -print |xargsfile【正确】 find. -typef -print |xargsrm{} 【错误】 总结一下:如果命令后面可以跟内容,且没有目的路径的时候,可以省略-i,否则得加上
这个例子中,使用逗号作为分隔符,xargs会将输入数据按照逗号分隔,并将分隔后的数据作为参数传递给rm命令。 4. 替换字符串 使用-I选项可以在命令中进行字符串的替换,将字符串{}替换成输入数据中的每一项。例如: ls | xargs -I {} mv {} {}.bak 这个例子中,ls命令列出当前目录的所有文件,xargs命令将每个文件...
find. -name"*.txt"-print0 | xargs -0rm 这里,-print0和-0选项用于处理文件名中可能包含的空格和特殊字符。 使用xargs并行压缩多个文件: echofile1.txtfile2.txtfile3.txt|xargs-n1-P3gzip 这里,-n 1表示每次只传递一个参数给gzip命令,-P 3表示同时运行 3 个并行进程。
$echo'one two three'|xargs-t rm rm one two three 六、-0 参数与 find 命令 由于xargs默认将空格作为分隔符,所以不太适合处理文件名,因为文件名可能包含空格。 find命令有一个特别的参数-print0,指定输出的文件列表以null分隔。然后,xargs命令的-0参数表示用null当作分隔符。
cat foo.txt one two three cat foo.txt | xargs -I % sh -c 'echo %; mkdir %' one two three # 打印出命令 cat foo.txt | xargs -t -I % sh -c 'echo %; mkdir %' 用rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long.用xargs去避免这个问题: # xargs -0...
[root@localhost jeffrey]# ls *.txt | xargs -I '{}' rm {} 1 2 3 (7)使用-0选项,处理文件名中的特殊字符; 有时,我们的文件名中会出现空格,但是xargs以空格或换行符作为分隔符,所以会出现问题:hello hello.txt为一个文件,但是xargs却将其转换成两个参数;这是因为xargs将文件命令中的空格当成了分隔...
ls*.jpg|xargs-n1-I{}cp{}/data/images xargs 结合 find 使用 用rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long.用 xargs 去避免这个问题: find.-type f-name"*.log"-print0|xargs-0rm-f xargs -0 将 \0 作为定界符。
这里的 `-I {}` 表示将每个文件名替换为 `{}`,然后通过 `cp` 命令将文件复制到指定目录。 2. 批量删除文件: 假设我们有一个包含文件名的文本文件 `filelist.txt`,我们想要批量删除这些文件。可以使用以下命令: ``` cat filelist.txt | xargs rm ``` 这里的 `rm` 命令将会删除 `filelist.txt` 中列出...