一天一命令-xargs

一天一命令-xargs

xargs

传递标准输入作为下一个命令的参数或者重新格式化并输出

xargs默认命令是echo,默认分隔符是空格。xargs可以将输入文本转换为单行或多行显示,即指定每行显示的个数。

Usage: xargs [OPTION]... COMMAND INITIAL-ARGS...
-0 显示为一列,默认显示为一行,以空格为分隔符
-a file 从文件读取数据而非标准输入
-d 指定分隔符
-l num 指定每行显示的参数个数
-n num 指定以空格为分隔符显示每行的参数个数,如果一个文件(或参数)之间有空格,将被分割为两个文件(或参数)

ls /root/ |xargs

ls /root/ |xargs -d\空格 -l2    //注意空格需要转义

#touch a\ b.txt   //创建一个文件名包含空格的文件
#ls
a b.txt  Desktop/    Downloads/  Pictures/  script/     Videos/
a.log   Documents/  Music/      Public/    Templates/
#ls | xargs  //默认显示为一行,并且以空格为分隔符,所以文件a b.txt将会被分割为两个文件a和b.txt
a b.txt a.log Desktop/ Documents/ Downloads/ Music/ Pictures/ Public/ script/ Templates/ Videos/
#ls | xargs -0   //-0显示为一列,就不会出现上面的问题,推荐使用
a b.txt
a.log
Desktop/
Documents/
Downloads/
Music/
Pictures/
Public/
script/
Templates/
Videos/
#ls | xargs -n3
a b.txt a.log   //-n3应该显示为每行3个文件,但因为文件a b.txt之间有空格,所以被分割为2个文件显示
Desktop/ Documents/ Downloads/
Music/ Pictures/ Public/
script/ Templates/ Videos/
#ls | xargs -l3
a b.txt a.log Desktop/   //-l正常显示每行3个文件
Documents/ Downloads/ Music/
Pictures/ Public/ script/
Templates/ Videos/
#echo "a:b:c:d:e" |xargs -d:
a b c d e
#echo "a:b:c:d:e" |xargs -d: -n2
a b
c d
e

如果需要删除的文件数目太多,提示文件名太长,则可以通过xargs命令自动逐个删除

#find . -type f -name "*.log" -print | xargs -0 rm -f

复制当前目录下的*.jpg到/data/images

#ls *.jpg | xargs -n1 -I cp {} /data/images

统计一个源代码目录中所有php文件的个数

#find . -type f -name "*.php" -print | xargs -0 wc -l

查找所有的jpg 文件,并且压缩它们

#find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz

假如你有一个文件包含了很多你希望下载的URL,你能够使用xargs下载所有链接

#cat url-list.txt | xargs wget -c

时间: 2024-10-11 09:15:43

一天一命令-xargs的相关文章

一天一命令-sed

一天一命令-sed sed - stream editor for filtering and transforming text sed 4.2.2 sed是一种流编辑器,读取一行,处理一行,输出一行.sed先读取文件中的一行内容存储到被称为模式空间(pattern space)的临时缓冲区中,接着根据设定的条件来处理缓冲区中的内容,多个条件则多次处理,处理完成后,输出到屏幕,接着读取和处理下一行.源文件内容并没有改变,除非使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对多个文

一天一命令-命令帮助

一天一命令-命令帮助 如何系统的学习一个bash命令: 需求,了解命令的格式,选项,帮助手册,案例,练习,拓展. 想要达到什么效果,有没有这样的命令,命令的格式和使用方法,有什么其他的选项,系统中的完整的帮助手册,常用的选项和案例有哪些,拓展的命令使用方法. 5w1h方法:what,why,when,where,who,how 1.程序自身的帮助文档:/usr/share/doc/cmd-version 2.发行版官方文档:http://www.redhat.com/docs 3.Google

一天一命令-history

一天一命令-history 系统软硬件环境平台: VMware Workstation Pro 12.5.5 build-5234757 CentOS Linux release 7.3.1611 软件版本:bash --version GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu) 测试时间:2017年5月29日 history-Display or manipulate the history list.(显示或者处

一天一命令-ls

一天一命令-ls 系统软硬件环境平台: VMware Workstation Pro 12.5.5 build-5234757 CentOS Linux release 7.3.1611 软件版本:ls (GNU coreutils) 8.22 测试时间:2017年5月26日 ls - list directory contents,显示目录中的文件列表 一.ls基本信息 #ls --version ls (GNU coreutils) 8.22 #type -a ls ls is aliase

一天一命令-screen

一天一命令-screen screen 多终端窗口管理器,可以通过该软件同时连接多个本地或远程会话,并自由切换 Use: screen [ -options ] [ cmd [ args ] ] screen -r [[pid.]tty[.host]] screen -r sessionowner/[[pid.]tty[.host]] -A 将所有的窗口都调整为目前终端机的大小 -c file 读取指定配置文件 -d 剥离别处正在运行的会话 -D 剥离并退出远程会话 -h 设置回滚的命令历史大小

一天一命令-crontab

系统软硬件环境平台: VMware Workstation Pro 12.5.5 build-5234757 CentOS Linux release 7.3.1611 内核版本:3.10.0-514.el7.x86_64 contab 提交和管理用户需要周期性执行的任务 Usage:        crontab [-u user] file        crontab [-u user] [-l | -r | -e] [-i] [-s]        crontab -n [ hostna

【Linux】参数代换命令xargs

xargs 是在做什么的呢?就以字面上的意义来看,x 是加减乘除的乘号,args 则是 arguments (参数) 的意思,所以说,这个玩意儿就是在产生某个命令的参数的意思! xargs 可以读入 stdin 的数据,并且以空格符或断行字符作为分辨,将 stdin 的数据分隔成为 arguments . 因为是以空格符作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空格符的时候, xargs 可能就会误判了-他的用法其实也还蛮简单的!就来看一看先! [[email protected]

管道命令xargs

在研究hadoop的过程中,遇到一个小难题. 问题描述:我需要将文件夹A下的文件拷贝到文件夹B中,但是以hadoop开头的文件不要拷贝. 问题解决:ls  A|grep -v hadoop|xargs -t -I {} cp {} /B 解释:grep -v 是反选.xargs命令的功能是将管道传来的的信息作为参数赋予马上要执行的命令. 如果该命令是单参数指令,例如rm,那么很简单: ls A|xargs rm  即可. 如果该命令是多参数指令,例如cp.那可如何是好? 可以赋予-I(是大写的i

Linux常用命令——xargs

xargs 将标准输入转换成命令行参数 语法格式:xargs [option] xargs [选项]注意:xargs 命令及后面的选项和选项之间至少要有一个空格选项说明: 参数选项 解释说明 -n 指定每行的最大参数量 n,可以将标准输入的文本划分为多行,每行 n 个参数,默认空格分隔 -d 自定义分隔符 -i 以 { } 替代前面的结果 -0(数字 0) 用 null 代替空格作为分隔符,配合 find 命令的 -print() 选项的输出使用 案例一:多行输入变单行的例子案例二:参数举例案例