前面写过一篇通过shell脚本去重10G数据的文章,见<用几条shell命令快速去重10G数据>.然而今天又碰到另外一个业务,业务复杂度比上次的单纯去重要复杂很多.找了很久没有找到相应的办法,于是用shell脚本程序去处理.具体业务逻辑: 1.首先根据给定指定进行排序 2.排序后对给定字段进行去重,去重的规则如下: a)排序后如果相邻N行给定字段值相同的行数不超过两行,则两行都保留. a)排序后如果相邻N行给定字段值相同的行数超过两行,则保留首行和尾行. 就这样一个业务逻辑,其实看起来并不是太…
问题描述: 最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件 保留7天就够了,所以需要自动清理文件夹内的bak文件 解决方案: 利用shell脚本来定期删除文件夹内的任务 1.创建shell文件 [root@zabbix script]# vim backup_sql_clean.sh #!/bin/sh -name "*.bak" -exec rm -rf {} \; 参数说明: /data1/backup/KDKDA\$AGKDPAYKT/XNAKS…
Shell脚本使用汇总整理——文件夹及子文件备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/9223477.html 脚本分为三部分配置信息.脚本文件.定时任务: 1.配置信息: backupFilePath=/wocloud/soft/tomcat/yearAppraiseTomcat/tomcat/webapps/yearAppraiseSys/upload saveBackupFilePath=/woclou…
shell脚本实现读取一个文件中的某一列,并进行循环处理 1) for循环 #!bin/bash if [ ! -f "userlist.txt" ]; then echo "userlist.txt 不存在!" fi for userid in `(cat userlist.txt)` do a=$userid echo $a done #!bin/bash if [ ! -f userlist.txt ]; then echo "userlist.tx…
Shell脚本对Linux进行文件校验 一.需求 有客户等保需求对文件一致性进行校验,想到利用md5sum工具,因此写脚本来对文件进行自定义扫描,后期可以利用其进行校验,快速校验文件发现变更的文件,一定程度及时发现等行为. 二.脚本 利用md5sum将扫描得到的文件保存在/tmp目录下,后缀为时间戳,后期可以利用此文件进行校验 #!/bin/bash #func:scan file #md5sum -c $SCAN_FILE SCAN_DIR=`echo $PATH |sed 's/:/ /g'…
https://www.cnblogs.com/yeungchie/ 常见的集成电路版图数据库文件格式有 GDSII 和 OASIS,virtuoso 提供了下面两个工具用来在 Shell 中导出版图数据. strmout (导出为 GDSII 格式) strmout -help Usage: Usage: strmout -library <Input Library> -strmFile <Output Stream File> [-strmVersion] <Strea…
在安卓应用的测试过程中,遇到 Crash 或者 ANR 后,想必大家都会通过 adb logcat 命令来抓取日志定位问题.如果直接使用 logcat 命令的话,默认抓取出的 log 文件包含安卓运行时产生的所有日志,给快速定位问题增加了时间成本. 这个问题可以通过一个简单的 Shell 脚本来解决,依然只有区区 20 行左右的代码. 脚本的编写思路是这样的: 1.通过 date 命令获取当前时间并赋值给变量 "DATE",格式为 "year/month/day/hour/m…
shell脚本中的变量定义,引用各有不同的方式,除此之外,很常用的有文件属性判断,逻辑运算,数值运算等,下面记录一下它们的属性作用 变量 shell变量的定义分为两种:一种是直接赋值定义,另一种是嵌套指令调用赋值: name=yufu : 直接定义赋值 time=`date` : 指令嵌套赋值 $name $time : 调用变量 此外变量还分局部变量和全局变量,局部变量只对当前bash环境有效,环境变量全局有效,上面的定义方式是定义局部变量,全局变量定义方式如下 name=yufu expor…
当前文件夹下有一些文件和文件夹,当中每一个文件夹里都有若干.txt文件. 如今要求在当前文件夹创建一个新文件夹all,且将那些文件夹全部.txt文件 都复制到文件夹all.在ubuntu12.04的shell脚本实现例如以下: #!/bin/sh # 提示信息 echo "start:" # 定义变量 dst=all pst=.txt # 拷贝文件到目标目录 if [ -d ${dst} ] then echo "${dst} existed" else echo…
一.”一切皆文件“与“管道” 1)管道:grep foo /path/to/file | grep -n -k 3 | more 实际过程与我们直观认为的相反,最好通过实际过程理解.首先运行的是more,它的输入被连接至一个管道.然后是sort,并且其输出被连接至之前的那个管道.接着创建第二个管道,并且将sort的stdin连接至该管道.最后执行grep,将其stdout连接至与sort进程相连的那个管道. 当grep开始运行并输出数据时,数据顺着管道流向sort,sort处理后顺着管道输出到m…