首页 > 常见问题 > 正文

Linux中的xargs命令及示例

不言
发布: 2019-03-02 16:08:55
原创
2707 人浏览过

xargs是一个Linux/Unix功能强大的命令,用于从标准输入构建和执行命令行。它接受一个命令的输出并将其作为另一个命令的参数传递。xargs采用标准输入,用空格或换行符分隔,并使用后面跟有项目的任何参数执行命令一次或多次。标准输入上的空行将被忽略。

Linux中的xargs命令及示例

例子

示例1:将大量文件复制到另一个文件夹。

有时我们需要复制一长串文件,在这种情况下,cp命令失败,错误“参数列表太长”。我们可以使用xargs来完成这项任务。

# find /home/linuxman/public_html/tecadmin.net/ -type f | xargs -n1 -i cp {} /var/www/backup/
登录后复制

示例2:从文件夹中删除多个文件。

有时我们要从文件夹中删除大量文件。下面的示例将从/ var / log目录中删除所有.log文件。

# find /var/www/tmp/ -type f | xargs rm -f
登录后复制

上面的命令将无法删除带有空格的文件。要在xargs命令中处理空格,需要以下命令。

# find /var/www/tmp/ -type f -print0 | xargs -0 rm -f
登录后复制

示例3:计算多个文件中的行数。

下面的示例将计算/opt目录及其子目录中每个.txt文件的行数

# find /opt -name "*.txt" | xargs wc -l
登录后复制

要处理名称中包含空格的文件,需要使用以下命令。

# find /opt/ -name "*.log" -print0 | xargs -0 wc -l
登录后复制

示例4:备份所有configuratin文件。

如果要备份系统中的所有configurtion文件(扩展名.conf),请使用以下命令。

# find / -name "*.conf" |  xargs tar czf  config.tar.gz
# ls -l config.tar.gz
-rw-r--r--. 1 root root 193310 Apr  1 13:26 config.tar.gz
登录后复制

示例5:将custom delimeter与xargs一起使用。

我们也可以使用自定义删除器和xargs命令,默认情况下它使用空格和新行作为分隔符。使用-d参数定义分隔符。

# echo "1,2,3,4,5" | xargs -d, echo
登录后复制

输出

1 2 3 4 5
登录后复制

示例6:使用xargs以sepreate行显示输出。

在示例5中,输出以单行显示,我们还可以指定在单独行中显示每个输出。

# echo "1,2,3,4,5" | xargs -d, -L 1 echo
登录后复制

输出

1
2
3
4
5
登录后复制

示例7:处理文件名或路径中的空白区域。

要处理名称中的空格,请使用-print0和find命令,使用-0和xargs命令作为参数。

#  find /tmp -print0 | xargs -0 -L 1 echo
登录后复制

本篇文章到这里就已经全部结束了,更多精彩内容大家可以关注php中文网的其他相关栏目教程!!!

以上是Linux中的xargs命令及示例的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!