这个极客的Linux命令用起来,批量执行工具得心应手

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

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

 

 

 

[[311913]]

 

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

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

 

方法一

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

方法二

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

方法三

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

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

 

总结

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

责任编辑:华轩 来源: 今日头条
相关推荐

2016-06-12 09:28:46

Ubuntu 16.0升级Linux

2010-02-24 14:44:22

Fedora Linu

2022-10-08 09:18:19

架构模型

2023-12-18 18:01:25

快捷键CI鼠标

2009-04-26 15:56:32

vista驱动程序瘦身

2021-06-30 09:20:18

NuShell工具Linux

2017-03-28 08:30:00

Linux发行版桌面

2022-09-05 08:48:16

微服务Spring配置中心

2016-05-26 10:21:18

Windows 10配置性能

2020-11-27 14:28:13

数据分析工具数据库

2021-03-10 09:54:43

RustNuShell系统

2020-12-08 11:20:43

Windows微软数据

2018-10-23 09:00:00

Linux日志

2023-03-16 11:12:53

笔记本电脑

2024-05-21 10:28:51

API设计架构

2022-05-22 21:16:46

TypeScriptOmit 工具

2012-07-11 09:34:39

微软云计算

2023-10-24 18:01:52

AndroidIDEA开发

2020-11-10 17:08:58

程序员极客网友
点赞
收藏

51CTO技术栈公众号