• 技术文章 >常见问题

    Linux中的xargs命令及示例

    不言不言2019-03-02 16:08:55原创1252
    xargs是一个Linux/Unix功能强大的命令,用于从标准输入构建和执行命令行。它接受一个命令的输出并将其作为另一个命令的参数传递。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中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:Linux
    上一篇:蓝鸥培训和达内哪家好 下一篇:开发工具有哪些
    大前端线上培训班

    相关文章推荐

    • linux如何查看cpu使用率• Linux解压gz文件的命令是什么• 如何在Linux中重置MySQL root密码• Linux 重启命令是什么?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网