随笔分类 - shell编程
摘要:在sql中,我们可以方便的使用group by及相应的聚合函数如sum avg count来实现分组统计需求,那当我们面对一个文本,在shell中也可以实现相应的功能吗? 在shell中,我们主要用awk来实现类似的统计需求,如下我们用例子来解析说明。 数据准备 [root ~]#cat tdata
阅读全文
摘要:看下atime的时间解释:-atime n File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fracti
阅读全文
摘要:```shell
# root @ c7bit1 in ~ [16:43:40] $ cat test
a
b
c
d
b
g # root @ c7bit1 in ~ [16:46:27] C:2
$ awk '!x[$0]++' test
a
b
c
d
g 解释: a[$0]: look at the value of key $0, in associative array ...
阅读全文
摘要:for i in {1..60000}; do echo "`date +'%F %T'` `df /dev/md0 | grep 'data1'` "; sleep 1; done | awk '{a[NR]=$6; print $0,a[NR]-a[NR-1]}' [root@TENCENT64
阅读全文
摘要:bash: python: 使用collections模块 或
阅读全文
摘要:原始状态: 回到原始状态: 注意,源目录多了一个斜杆: 变成了a下面的内容复制到文件b下,而不是像第一次的包括a整个目录 目标如果是文件夹的话,最后有没有加斜杆都不影响。 加-n参数可以进行dry-run模式,即只显示有可能的改变,但实际并不执行。
阅读全文
摘要:在bash脚本编程中,我们经常做一些条件判断, 我们主要用到了三种,test,单中括号,双中括号 经常有看到不同的写法,如: 并且还有看到一些并且和或的写法,如-a,-o,&&,||。 那这些都是怎么结合,有那么多的比较符号,我怎么记住,有什么注意事项。 1.test命令 test是bash的一个内
阅读全文
摘要:#!/bin/bash emp_info=( aaa 13800000000 aaa@qq.com bbb 13800000001 bbb@qq.com ccc 13800000002 ccc@qq.com ddd 13800000003 ddd@qq.com eee 13800000004 eee@qq.com ) for i in ${!emp_info[@]} do if [ ...
阅读全文
摘要:变量$IFS存储着分隔符,这里我们将其设为逗号 "," OLD_IFS用于备份默认的分隔符,使用完后将之恢复默认。 arr=($a)用于将字符串$a按IFS分隔符分割到数组$arr ${arr[0]} ${arr[1]} ... 分别存储分割后的数组第1 2 ... 项 ${arr[@]}存储整个数
阅读全文
摘要:1.在脚本中先cd到指定路径,再操作文件 2.如果不满足第一条,文件请写绝对路径 要不有可能会出现自己手动执行脚本没有问题,但是加入crontab却发现执行失败的情况。
阅读全文
摘要:我们平时都会用service xxx start来启动某个进程,那么它背后究竟执行了什么? 其实service的绝对路径为/sbin/service ,打开这个文件cat /sbin/service,我们会发现其实它就是一个很普通的shell脚本: 其实这个脚本service主要作了如下两点: 1.
阅读全文
摘要:sysbench目前已经有0.5的版本,不过最普遍使用的依旧是0.4.12,所以接下来我们会以0.4.12这个版本作为测试 Step1:下载安装sysbench Step2: 执行测试脚本(请不要直接粘贴此脚本到你机器上运行,除非你知道它在做什么): Step3:分析处理,需要用到类似如下的处理分析
阅读全文
摘要:一般我们新copy的虚拟机或新克隆的虚拟机第一次启动时都会出现没有ip地址的情况: [root@zejin243 network-scripts]# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 in
阅读全文
摘要:编写shell脚本过程中,我们经常会自定义一些函数,并根据函数的返回值不同来执行相应的流程,那么我们如何来获取函数的返回值呢? 首先shell中调用函数有两种方式: 第一种:value=`function_name [arg1 arg2 ......]` 或 第二种:function_name [a
阅读全文
摘要:目标:想用awk与scp命令批量传送文件前提:先搭好主机间的免密登陆环境(参考:http://www.cnblogs.com/tankaixiong/p/4172942.html)实现脚本方法:1.在一个文件中记录好各个主机的端口与ip地址,第一列为主机描述信息,参考信息[root@zejin240...
阅读全文
摘要:对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名...
阅读全文
摘要:a=$(cat 1.sh)等价于a=`cat 1.sh`而a=(cat 1.sh) 相当于定义一个a数组,内容为cat 1.sha=(`cat 1.sh`)相当于把1.sh里面的内容当成a的数组,a仍旧是一个数组a=$(`cat 1.sh`)此命令会报错,不能执行[root@zejin240 che...
阅读全文
摘要:#!/bin/bashfor i in `seq 1 254`do{ping -c2 192.168.1.$i &>/dev/nullif [ $? != 0 ];thenecho "192.168.1.$i is not used"fi}done
阅读全文
摘要:awk -F"[01]" '{}' 这种形式指定的分隔符是或的关系,即0或1作为分隔符;awk -F"[0][1]" '{}' 这种形式指定的分隔符是合并的关系,即以“01”作为一个字符为分隔符。故假如有test.txt文本文件只有一行:1. mail from: tomcat@gmail.com ...
阅读全文

浙公网安备 33010602011771号