【shell】xargs及常见用法
来源:互联网 发布:苹果电脑关闭软件 编辑:程序博客网 时间:2024/06/05 15:48
【背景】
xargs全称是transform arguments,意为转换参数,它将标准输入转换为命令行参数。因为linux命令行中经常要使用到管道符连接不同的命令,但是有些命令不支持标准输入,此时就需要使用xargs将标准输入转换为参数。
【命令格式】
1.将标准输入转换成命令行参数
2.控制每行的参数数量
3.指定定界符
假设命令cmd需要固定使用-a和-b选项,其中只是-a选项需要替换参数,此时可以使用xargs的-I选项指定替换字符串。
5.-0选项
xargs全称是transform arguments,意为转换参数,它将标准输入转换为命令行参数。因为linux命令行中经常要使用到管道符连接不同的命令,但是有些命令不支持标准输入,此时就需要使用xargs将标准输入转换为参数。
【命令格式】
stdin_input | xargs [option] cmd
可见,xargs一般是通过管道符接受标准输入并将其转换为命令行参数传递给cmd。
1.将标准输入转换成命令行参数
echo arg1 arg2 arg3 | xargs echoarg1 arg2 arg3上述例子将前一个echo输出的字符串转换为命令行参数传递给第二个echo。
2.控制每行的参数数量
echo arg1 arg2 arg3 | xargs -n 2 echoarg1 arg2arg3上述例子基本等同于第一个例子,但不同的是使用了-n选项加一个数字限定了每次最多传递给echo变量的命令行参数。
3.指定定界符
echo arg1:arg2:arg3 | xargs -d ':' echoarg1 arg2 arg3
xargs将空格作为默认的定界符,但可以用-d选项指定定界符。
假设命令cmd需要固定使用-a和-b选项,其中只是-a选项需要替换参数,此时可以使用xargs的-I选项指定替换字符串。
echo arg1 arg2 arg3 | xargs -I {} cmd -a {} -b上述命令会将args1、args2、args3逐个替换到第二个花括号内。此外,对于每个命令行参数,cmd命令都会被执行一遍。
5.-0选项
find ./ -iname *.txt -print0 | xargs -0 rm -f-0选项使xargs将'\0'字符作为标准输入的定界符。这在结合find进行文件操作时很有用,因为文件名中可能含有空格符,所以将空格符作为定界符是危险的,可能造成误删。上述例子在find命令中使用了-print0选项将输出的文件名之间用'\0'分隔开,再使用-0选项让xargs用'\0'作为定界符,这样就可以避免文件名含有空格造成的误删。
阅读全文
0 0
- 【shell】xargs及常见用法
- shell的xargs用法举例
- 【shell】find命令及常见用法
- 【shell】grep命令及常见用法
- 【shell】sed命令及常见用法
- 【shell】awk命令及常见用法
- 【shell】cut命令及常见用法
- 【shell】tr命令及常见用法
- 【shell】head/tail及常见用法
- xargs命令的介绍和常见用法
- xargs应用场景和常见用法
- linux shell的xargs命令的用法
- shell xargs
- xargs的原理剖析及用法详解
- xargs的原理剖析及用法详解
- 掌握shell编程中数组的常见用法及示例
- 掌握shell编程中数组的常见用法及示例
- shell if常见用法
- Android 集成 FFmpeg (一) 基础知识及简单调用
- CSDN上怎么粘贴有格式的代码
- 【自考】网络第四章总结
- mac 反编译apk
- 复习指针数组以及如何把二维数组赋值给二维指针
- 【shell】xargs及常见用法
- bzoj P1036 [ZJOI2008]树的统计Count
- 【C语言】编写模拟人员信息系统(结构体,文件)
- redis常用数据类型总结
- 双FIFO图像边缘提取
- ios中导航控制器的使用
- Use python to make a table frame template instance
- 【C语言】测试不同类型的指针的算术运算
- [第六季]1.Javascript概述和一个简单案例.