shell中对xargs命令传参进行编辑

 更新时间:2025年01月20日 09:30:18   作者:不要影响我叠Q  
本文主要介绍了shell中对xargs命令传参进行编辑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

以文件解压为例,将当前路径下的所有gz文件解压到同名的log文件中,解压命令如下所示:

ls *.gz| xargs -n 1 -P 4 -I {} bash -c 'zcat "{}" > $(echo "{}" | sed "s/gz$/log/g")'

执行结果如下图所示:

命令说明:

xargs -I {}占位的参数传递给后面的bash -c命令以进行复杂的字符串替换操作。

使用$()引用计算结果,在括号中完成文件名的编辑。括号中使用"{}"引用传入的文件名

sed "s/gz$/log/g"将echo传递的文件名中末尾的gz替换为log, gz$是正则表达式用于匹配后缀为gz的文件

也可使用下面的命令进行解压:

ls *.gz| xargs -n 1 -P 4 -I {} bash -c 'zcat "{}" > $(file="{}"; echo ${file::-3}.log)'

${file::-3}表示去掉文件名末尾的三个字符,即".gz"

运行结果和上述一致:

到此这篇关于shell中对xargs命令传参进行编辑的文章就介绍到这了,更多相关shell xargs传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux中常用资源监控命令总结

    Linux中常用资源监控命令总结

    这篇文章主要为大家详细介绍了Linux中常用的资源监控命令,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12
  • 深入浅出Shell编程 Shell变量介绍

    深入浅出Shell编程 Shell变量介绍

    先不要管Shell的版本,来看看Shell 变量,在Shell中有三种变量:系统变量,环境变量,用户变量。其中用户变量在编程过程中使用最多,系统变量在对参数判断和命令返回值判断会使用,环境变量主要是在程序运行的时候需要设置。
    2013-01-01
  • linux命令学习之10个网络命令和监控命令

    linux命令学习之10个网络命令和监控命令

    下面列出来的10个基础的每个linux用户都应该知道的网络和监控命令,大家参考使用吧
    2014-01-01
  • Shell脚本中计算字符串长度的5种方法

    Shell脚本中计算字符串长度的5种方法

    这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
    2014-06-06
  • Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路

    Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路

    今天小编就为大家分享一篇关于Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • shell脚本去重的三种方法小结

    shell脚本去重的三种方法小结

    在实际工作中,进行Shell去重操作是非常常见的任务之一,本文主要介绍了shell脚本去重的三种方法小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • shell备份文件、重命名文件、删除指定文件的3个脚本分享

    shell备份文件、重命名文件、删除指定文件的3个脚本分享

    这篇文章主要介绍了shell备份文件、重命名文件、删除指定文件的3个脚本分享,是学习shell时的练习脚本,shell新手朋友可以参考下哦
    2014-07-07
  • 浅谈Shell 流程控制

    浅谈Shell 流程控制

    这篇文章主要介绍了Shell 流程控制的的相关资料,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06
  • 浅析Shell脚本中的条件判断[ ]与[[ ]]的区别

    浅析Shell脚本中的条件判断[ ]与[[ ]]的区别

    在编写 Shell 脚本时,条件判断是控制脚本流程的重要手段,Shell 提供了多种方式来进行条件判断,其中[ ]和[[ ]]是两种常见的条件测试表达式,下面我们就来看看两者的区别吧
    2024-12-12
  • 解压rpm包的linux命令及rpm命令使用简介

    解压rpm包的linux命令及rpm命令使用简介

    rpm 是红帽(RedHat)软件包管理工具,实现类似于 Windows 中的添加/删除程序功能,本篇文章给大家介绍解压rpm包的linux命令及rpm命令使用简介,需要的朋友参考下
    2015-11-11

最新评论