吾生也有涯,而知也无涯。这篇文章主要讲述linux之xargs使用技巧相关的知识,希望能为你提供帮助。
【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 2echo
指定每一项命令行参数的替代字符串
# 将命令行参数传给多个命令
>
cat foo.txt
one
two
three>
cat foo.txt | xargs -Ish -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简明教程
文章图片
推荐阅读
- DHCP实现批量装机
- 10分钟弄懂云原生网络功能,快来瞧瞧!
- 图论(graph)相关算法总结
- 附相关资料VMware Workstation 安装 CentOS7
- 利用盛科设备搭建BGP+EVPN实现VXLAN二层通道
- 大于8路SDI输入带触摸屏互动会议录播系统
- netty系列之:在netty中使用UDP协议请求DNS服务器
- 万字讲解数仓治理及成本管理
- JUC并发编程详解Java关键字之 volatile