首页 > 其他分享 >xargs命令用法

xargs命令用法

时间:2022-08-20 15:16:29浏览次数:77  
标签:xargs rumenz echo 命令 cat 用法 txt

linux之xargs使用技巧

原创 入门小站 入门小站 2022-06-11 23:08 发表于北京 收录于合集#Linux485个 图片image-20210603130606567

Unix命令都带有参数,有些命令可以接受”标准输入(stdin)”作为参数。而管道命令(|)的作用,是将左侧命令的标准输出转换为标准输入,提供给右侧命令作为参数使用。虽然,在 Unix 系统中大多数命令都不接受标准输入作为参数,只能直接在命令行输入参数,这导致无法用管道命令传递参数。比如,我们日常使用的 echo 命令就不接受管道传参。而 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命令有一个特别的参数-print0,用来指定输出的文件列表以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
入门小站 全栈入门知识 174篇原创内容 公众号 收录于合集 #Linux  485个 上一篇从购买服务器到网站搭建成功保姆级教程【超细】下一篇linux之软连接和硬连接的区别 阅读原文 阅读 2174     写下你的留言

标签:xargs,rumenz,echo,命令,cat,用法,txt
From: https://www.cnblogs.com/qiangfenger/p/16607733.html

相关文章

  • C#中的static静态变量的用法
    静态局部变量定义:在局部变量前加上static关键字时,就定义了静态局部变量。特点:A、该变量在全局数据区分配内存。B、初始化:如果不显式初始化,那么将被隐式初始化为0......
  • train.py文件在pycharm中输入参数命令的方法
    保姆式yolov5教程,训练你自己的数据集-知乎(zhihu.com)点击train->EditConfigurations: 在Parameters,输入对应参数命令--weightsyolov5s.pt--datadata/fire.......
  • Docker常用命令
    1.镜像相关dockerpull#拉取镜像dockerimages#查看镜像列表dockerimages-aq......
  • redis-list命令
    一、BLPOPkey[key...]timeoutBLPOP是阻塞式列表的弹出原语。它是命令LPOP的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候,连接将被BLPOP命令阻塞。......
  • 复习:linux 基础命令复习二
    文件查看cat从头到尾显示-A \\整合命令-vET-b \\列出行号-E \\将结尾的断行字符($)显示出来-n \\列出行号,空白行也会标志行号-T \\将tab键以^I表示-......
  • linux各文件类型解压/压缩命令
    1、tar解压:tar-xvffilename.tar打包:tar-cvffilename.tarfilename2、gz解压:gunzipfilename.gzorgzip-dFileName.gz压缩:gzipFileName3......
  • PowerShell教程 - 入门命令(Basic Comlet)
    更新记录转载请注明出处。2022年8月20日发布。2022年8月15日从笔记迁移到博客。入门命令(BasicComlet)帮助信息命令的帮助说明信息的组成结构name,synopsis,sy......
  • Linux添加alias简化命令
    一、简介linuxalias是命令的一种别称,输入alias可以看到像下面这样的结果:aliasvi="vim"也即,输入vi后,被自动定向到vim这个命令了。alias的作用就是,可以简写命令。二......
  • 【Java进阶】五分钟快速掌握JVM优化概念、常用命令、工具、JUC、多线程、GC等知识
    〇、概述1、资料 2、内容概括 一、概念(一)JVM (二)JUC (三)GC二、命令(一)JVM优化命令 (二)JUC命令三、工具(一)jdk工具......
  • 命令行的使用方法以及基础命令
    打开CMD的方式1.开始+系统+命令提示符2.win键+R输入cmd打开控制台(推荐使用)3.在任意的文件夹类型下面。按住shift键+鼠标右键点击,在此处打开命令行窗口4.资源管理器的地......