linux之xargs使用技巧
Posted 入门小站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之xargs使用技巧相关的知识,希望对你有一定的参考价值。
xargs基本用法
# grep命令接受管道传参
> cat /etc/passwd | grep root
# echo命令不接受管道传参
> echo "hello rumenz" | echo
# 将标准输入转为命令行参数
> echo "hello rumenz" | xargs echo
hello rumenz
需要注意的是 xargs 后面的默认跟的是 echo 命令,所以它可以单独使用。
-d
指定分隔符,默认使用空格分割
# 空格作为分隔符
$ echo "one two three" | xargs mkdir
# 指定制表符\\t作为分隔符
$ echo -e "a\\tb\\tc" | xargs -d "\\t" echo
a b c
-p
打印出要执行的命令并询问用户是否要执行
> echo one two three | xargs -p touch
touch one tow three ?...y
-0
表示用 null 当作分隔符
> find /path -type f -print0 | xargs -0 rm
指定多少行作为一个命令行参数
> xargs -L 1 find -name
"*.txt"
./1.txt
./rumenz.txt
./2.txt
./3.txt
-n
指定每次将多少项作为命令行参数
> echo 0..9 | xargs -n 2 echo
指定每一项命令行参数的替代字符串
# 将命令行参数传给多个命令
> cat foo.txt
one
two
three
> cat foo.txt | xargs -I sh -c echo ; mkdir
one
two
three
> ls
one two three
将多行输入转换成单行输入
> cat rumenz.txt
1 2 3 4
5 6
7 8 9
> cat rumenz.txt | xargs
1 2 3 4 5 6 7 8 9
将单行文本转换成多行
> cat rumenz.txt
1 2 3 4 5 6 7 8 9
> cat rumenz.txt | xargs -n 3
1 2 3
4 5 6
7 8 9
指定分隔符进行行转换
> echo "rumenz:123:rumenz:456:rumenz:789" | xargs -d : -n 2
rumenz 123
rumenz 456
rumenz 789
xargs和find结合
> find . -type f -name "*.txt" -print | xargs rm -f
批量下载文件
> cat rumenz.txt | xargs wget -c
原文链接:https://rumenz.com/rumenbiji/linux-xargs-skills.html
微信公众号:入门小站
- 回复【1001】获取 linux常用命令速查手册
- 回复【10010】获取 阿里云ECS运维Linux系统诊断
- 回复【10012】获取 Linux学习笔记【强悍总结值得一看】
- 回复【10013】获取 shell简明教程
以上是关于linux之xargs使用技巧的主要内容,如果未能解决你的问题,请参考以下文章