#!/bin/bash #!当前文件夹下,删除内容相同的重复文件,只保留重复文件中的一个. ls -lS --time-style=long-iso | awk 'BEGIN{ getline;getline; name1=$8;size=$5 } { name2=$8; if( size==$5 ) { "md5sum " name1 | getline;csum1=$1; "md5sum " name2 | getline;csum2=$2; if( csum1…
背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,其中有一种解决方案是在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝,本文是针对这个场景,使用shell脚本进行半自动批量添加和删除混淆代码. shell实战的系列文章iOS使用shell脚本注入混淆内容iOS使用Shell脚本批量修改类名称iOS使用shell脚本批量修改属性 结果 使用方法 打开测试工程 测试工程位于项目目录下面的DevPods/InjectedContentKi…
shell脚本显示文本内容及相关的常用命令有cat.more.less.head.tail.nl 首先是cat,cat最常用的就是一次性显示文件的所有内容,如果一个文件的内容很多的话,那么就不是很方便了,所以一样用于查看内容比较少的文本文件: cat另外一个很有用的方法就是可以原样输出想要保留特定格式的内容. [root@localhost ~]# cat <<A > this is test > hello world > hello Linux PHP MySQL Apa…
在使用flume中发现由于网络.HDFS等其它原因,使得经过Flume收集到HDFS上得日志有一些异常,表现为: 1.有未关闭的文件:以tmp(默认)结尾的文件.加入存到HDFS上得文件应该是gz压缩文件,以tmp为结尾的文件就无法使用: 2.有大小为0的文件,比如gz压缩文件大小为0,我们单独拿下这个文件解压发现是无限循环压缩的...这个也不能直接用来跑mapreduce 目前发现上述两种情况,其它还暂未发现.至于出现上述情况还没明确原因,且这两种情况都会影响hive.MapReduce的正常…
为了捞取日志,自己用python写了一些东西,大致套路就是读取写入文件的操作,放到linux上跑.实际使用时发现要操作的文件有时比较大,直接打开文件找需要的东西可能会有一些效率问题.所以学习一下shell脚本,看一下能不能用这种方法来直接监听日志取到需要的东西.以下是自己学习时的一些笔记. Shell脚本的运行 shell脚本第一行一般都是如下内容.#!开头,告诉系统使用什么解释器(使用哪一种Shell) #!/bin/bash 如何运行: 两种方法. 作为可执行程序的话,cd到相应目录后,运行…
定期删除日志: 然后建立清除日志文件的shell脚本,文件名为clean_log只保留最近三天的日志     #! /bin/bashlogdir=/var/log/httpdcd ${logdir}declare -i filesum=`ls access_log.* | wc -l`declare -i delnum=$filesum-3if [ "${delnum}" -ge 1 ];thenrm -rf `ls -tr access_log.* | head -${delnum…
rc.local的日志内容默认是/var/log/boot.log /etc/rc.d/rc.local文件的文件头是#!/bin/sh ,我们把这修改成#!/bin/sh -x,这样系统启动后就会把/etc/rc.d/rc.local里面的指令或脚本不能执行的日志写入/var/log/messages,或者/var/log/boot.log里,自己验证 下面的配置会把rc.local里要执行的sh脚本的日志内容输出到/tmp/rc.local.log里 exec 1>/tmp/rc.local…
删除某一目录下文件,只保留最新的几个 #!/bin/bash #保留文件数 ReservedNum= FileDir=/home/dev/saas_test/testcases/report/html #*.html为文件类型,不写查找所有文件 FileNum=$(ls -l $FileDir/*.html |grep ^- |wc -l) while(( FileNum > ReservedNum)) do OldFile=$(ls -rt $FileDir/*.html| head -1)…
1.创建shell touch /opt/auto-del-30-days-ago.sh chmod +x auto-del-30-days-ago.sh 2.编辑shell脚本: vi auto-del-30-days-ago.sh 编辑内容如下: #!/bin/sh find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \; 分析: /opt/soft/log/---为要定时删除文件的文件目录 -mtime +30…
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cp  ~/.ssh/id_dsa.pub authorized_keys 如果有邮箱的话,使用 ssh-keygen -t rsa -C anl@163.comcat ~/.ssh/id_rsa.pub 然后使用winscp或者fileziall之类的文件…