linux之xargs使用技巧

吾生也有涯,而知也无涯。这篇文章主要讲述linux之xargs使用技巧相关的知识,希望能为你提供帮助。
【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简明教程
linux之xargs使用技巧

文章图片


    推荐阅读