0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux命令轻松把单个工具变成批量执行工具

汽车玩家 来源:沙茶敏碎碎念 作者:沙茶敏碎碎念 2020-01-21 17:36 次阅读

我们经常遇到这样的业务场景,我们开发了一个线上工具,需要在Linux操作系统下面执行处理某些事情,例如我们开发了一个将用户某个活动数据清0的工具,命令如下:。/clearTools -v 12306,意思是将用户id为12306的使用次数清零。

这里有些同学可能会问,为什么我们需要开发工具,而不是直接从数据库中将次数清0,这是因为在生产环境中,任何一项业务都可能耦合众多业务逻辑,不是简单处理一张表就行,所以我们常常需要开发工具。

有一天,因为一些不知名的原因,反正肯定不是代码的bug,产品给了一批用户的id,需要我们将他们的参与次数重置,可是我们原来的工具只是处理单个用户的,如何快速地将工具改成可以批量执行多个用户呢?

方法一

我们可以修改工具的代码,让其读入一个文件,然后再依次执行,把原有的单个工具改成批量工具。这个方法虽然很好,但是难免显得有些太笨,作为一个极客程序员,这是难以接受的。

方法二

我们写一个shell脚本,在脚本里面读入文件,然后依次执行。这种方法虽然不用修改代码,但是也要写新的代码,虽然比上述方法更加可用,但是还是不够极客。

方法三

使用Linux的xargs命令,xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。

上述的例子,我们只要这么做,cat list.txt | xargs -I {} 。/clearTools -v {} 即可。在这个命令中,对于输出的每一行,都会匹配-I参数后面的花括号,然后将其替换成读入的文件行。

总结

是不是非常的简单,我们只要一行简单的命令行,就可以轻松的把单个工具修改变成批量执行的工具,大大提高了生产效率。怎么样,学会了么?欢迎关注我,我们一起学习共同进步。大家的支持是我继续唠嗑的动力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10988

    浏览量

    206725
收藏 人收藏

    评论

    相关推荐

    用于分析可执行程序和内存转储的命令工具介绍

    Axf Tool 是桃芯科技一个用于分析可执行程序和内存转储的命令工具。该工具已集成到 ingWizard 的项目快捷菜单里。
    的头像 发表于 11-03 17:00 633次阅读
    用于分析可<b class='flag-5'>执行</b>程序和内存转储的<b class='flag-5'>命令</b>行<b class='flag-5'>工具</b>介绍

    linux下使用restclient工具测试restful services接口

    原来一直使用restclient-ui工具,是图形界面的,操作起来很麻烦。想用shell脚本批量调用来执行用例,于是就找restclient工具有没有命令行的,上网搜了下,果然有。下载
    发表于 07-08 08:21

    Linux系统中常见的压缩命令工具概述

    ,有必要对需要备份的数据进行归档和压缩。#其实归档相当于多个文件打包一样。压缩着进一步降低打包好的归档文件占用的空间,充分提高备份介质的利用率。Linux系统中常见的压缩命令工具包括
    发表于 07-09 07:30

    Linux命令工具

    Linux 新手往往对命令行心存畏惧。部分原因是因为需要记忆大量的命令,毕竟掌握命令是高效使用命令行的前提不幸的是,学习这些
    发表于 07-25 08:10

    linux命令行下载工具

    wget是linux下常用的命令行下载工具,是Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件。而tget是一个简单的
    发表于 07-25 07:02

    如何轻松记住 Linux 命令

    分享一篇来自于Linux中国的文章,给正在入门的小伙伴一点点帮助:如何轻松记住 Linux 命令对于Linux的使用者来说,无论是菜鸟阶段还
    发表于 05-18 14:26

    怎样去使用Linux操作命令与开发工具

    怎样去使用Linux操作命令与开发工具呢?Linux文件的属性有哪些呢?
    发表于 12-23 09:41

    linux命令大全

    书中收集了丰富的Linux命令,是Linux技术开发者的好工具
    发表于 08-08 18:20 3次下载

    学习记忆Linux命令的5大工具解析

    Linux 新手往往对命令行心存畏惧。部分原因是因为需要记忆大量的命令,毕竟掌握命令是高效使用命令行的前提。不幸的是,学习这些
    的头像 发表于 12-25 17:24 4439次阅读
    学习记忆<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>的5大<b class='flag-5'>工具</b>解析

    监控网络使用情况的Linux命令工具

    本文介绍了一些可以用来监控网络使用情况的Linux命令工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。
    的头像 发表于 10-29 10:49 4436次阅读

    Linux网络状态工具ss命令使用详解

    很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令
    的头像 发表于 11-12 15:43 3958次阅读

    Linux命令大全搜索工具大全

    550 多个 Linux 命令,内容包含 Linux 命令手册、详解、学习,值得收藏的 Linux 命令
    发表于 01-05 08:00 4次下载

    嵌入式Linux开发工具5

    嵌入式Linux开发工具——shell编程 (脚本:批处理)Linux系统运维工程师(嵌入式开发–系统移植)shell:1、命令解析器(将用户输入的
    发表于 11-02 12:06 3次下载
    嵌入式<b class='flag-5'>Linux</b>开发<b class='flag-5'>工具</b>5

    6个已弃用的Linux命令和您应该使用的替代工具

    Linux 提供了大量的命令行实用程序来执行各种任务。然而,随着时间的推移,其中一些工具已经过时并被其他替代命令
    的头像 发表于 01-29 11:41 1577次阅读

    如何在Linux上使用粘贴命令

    Linux中的粘贴命令是一个有用的工具,用于将多个文件或文本行合并到单个文件或输出中。它通常与剪切命令结合使用,允许用户剪切特定行或文本部分
    的头像 发表于 02-08 16:58 1443次阅读