天天看点

Linux环境中的xargs命令使用技巧

作者:JasonTang

简介:xargs(eXtended ARGuments),主要用于将标准输入的数据转换成命令行参数。xargs 能够处理管道或文件中传递的数据,并将这些数据作为参数提供给其他命令。这在需要处理大量文件或输出结果时尤为有用。xargs 命令在 Linux 中是一个非常强大的工具,用于构建并执行命令行,能够将标准输入数据转换成命令行参数,从而允许用户以管道方式将一系列字符串传递给其他命令。该工具以其最基本的形式从标准输入 (stdin) 读取数据,并根据读取的输入执行命令(作为参数提供给它)一次或多次。输入中的任何空白和空格都被视为分隔符,而空白行将被忽略。

本文主要介绍的是Linux系统中xargs命令的使用方法。详细内容请参考下文。

一、Linux系统

1.访问Linux系统

Linux环境中的xargs命令使用技巧

2.查看xargs帮助信息

Linux环境中的xargs命令使用技巧

二、xargs基础知识

1.xargs语法结构

语法结构:

Linux环境中的xargs命令使用技巧

备注:xargs命令的常用选项说明如下。

Linux环境中的xargs命令使用技巧

2.awk命令作用

说明:xargs命令的作用是从标准输入或另一个命令的输出中读取文本行,并将其转换为命令并执行。其执行格式如下:

Linux环境中的xargs命令使用技巧

备注:xargs命令的详细作用如下:

Linux环境中的xargs命令使用技巧

三、xargs使用实例

1.结合rm命令删除相应的文件

执行指令# ls *.txt | xargs rm 删除当前目录下的作用txt文件

Linux环境中的xargs命令使用技巧

2.使用-I{}参数指定替换字符串

执行指令# ls *.txt | xargs -I{} cp {} /usr/local/tmp1

Linux环境中的xargs命令使用技巧

3.使用-d参数指定分隔符

执行指令# echo "file1.txt file2.txt file3.txt" | xargs mkdir创建三个文件file1.txt,file2.txt,file3.txt

Linux环境中的xargs命令使用技巧

执行指令# echo "name1,name2,name3" | xargs -d,

Linux环境中的xargs命令使用技巧

备注:xargs命令的-d 选项可以自定义一个定界符。

执行指令# echo "name1,name2,name3,name4,name5,name6" | xargs -d, -n2

Linux环境中的xargs命令使用技巧

备注:xargs命令的-d 选项还可以结合参数-n一起分行使用。

4. 结合find命令删除特定文件

执行指令# find . -name "*.bak" -type f | xargs rm 删除bak文件。

Linux环境中的xargs命令使用技巧

5. 结合find命令修改文件权限

执行指令# find . -name "*.sh" -type f | xargs chmod 755 修改权限

Linux环境中的xargs命令使用技巧

6. 结合grep命令查找包含特定文本的文件

执行指令# grep -l "ERROR" *.log | xargs -I {} mv {} /usr/local/errorlogs

Linux环境中的xargs命令使用技巧

备注:这里 -I选项让 grep 只输出包含匹配文本的文件名,然后 xargs 将其移动到 /usr/local/errorlogs 目录。

7.并行执行命令

执行指令# ls *.jpg | xargs -n 1 -P 3 gzip

Linux环境中的xargs命令使用技巧

备注:这将一次性启动 3个 gzip 进程来并行压缩 .jpg文件。

8.查找并打包压缩jpg文件

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

Linux环境中的xargs命令使用技巧