shell统计】的更多相关文章

今天,要统计一个系统的每个ip访问次数,于是我找到该系统访问日志,并写脚本实现.   访问日志情况: [root@qular ~]# cd /usr/local/nginx/logs/ [root@qunlar logs]# head access.log  59.151.44.186 - - [15/Dec/2014:20:19:11 +0800] "POST http://ebws.travelsky.com/etcwip/services/CWIPService HTTP/1.0"…
shell 统计当前目录下文件个数,使用管道组合命令: ls -1 | wc -l 解释: ls -1 表示一行一个列出文件名. wc -l 表示打印统计的行数. 两个命令通过管道连在一起表示打印列出的文件名的总行数. 参考链接:Counting Files in the Current Directory…
和某个供应商核对数据,对方是GMT+0时区,我方报表默认北京时间,无法修改为GMT0, 对excel中按照小时级别的数据导出到excel处理,然后转为文本文件,shell转为GMT0进行统计: 前期处理: 先将时间转为"2016-05-01 00:08:00" 格式的数据,便于时间戳的比较. 去除无效的","和"$"符号,便于shell文本处理. 先解决一天的问题,然后循环调用脚本 解决多天的问题. # for i in `seq 2016050…
time awk '{a[$1]++}END{for(i in a){printf("%d\t%s\n",a[i],i)}}' access.log | sort -nr | head -5 $ cat aa00:0100:0100:0100:0200:0300:0500:0500:0500:05 $ cat aa |awk '{a[$1]+=1;}END{for(i in a){print a[i]" "i;}}'3 00:011 00:021 00:034 00…
test.txt --| --| --| --| --| --| --| --| --| shell命令 yesterday=`date +%Y-%m-%d -d -1days` awk -v yesterday="$yesterday" -F"|" '!a[$1]++{if($3==yesterday) print $1}' test.txt |wc 心路历程 awk:统计 -v:传参 -F:定义分隔符 !a[$1]++:去重 print:打印 备注:去重可参考h…
Linux课上的作业周三交,若有考虑不周到的地方,还请多多不吝赐教. shell处理文本相关的经常使用命令见此博客 # #假设输入两个參数 则第一个为统计单词的个数.第二个为要统计的文章 #假设输入一个參数 则默认统计单词的个数为10 # 详细思路: 将各种符号用换行替换(tr命令) 大写改小写(tr命令) 排序.统计单词个数并除去反复 (sort和uniq) 按出现次数的高低排序(sort) 打印N个须要统计的单词 #!/bin/bash if [ $# -ne 2 -a $# -ne 1 ]…
话说有个aaa.txt文件,文件内容如下: aaaabbbbccccddddeeeeffffmmmmooooaaaaccccaaaabbbbddddaaaammmmbbbbaaaaoooo 然后面试题出现了,你会用shell吗?会,那有这么个问题,请统计出一个文件里某个单词或者行出现的次数,请去除前10条. 其实文件小还可以,文件大的话,可能这个方法就不那么高效了.不过会满足大多数 一条语句搞定 cat aaa.txt | awk '{print $1}' | sort | uniq -c |…
Xcode统计代码,用shell命令即可,非常简单.打开终端,进入你的工程目录,执行下列代码 find . -name "*.m" -or -name "*.h" -or -name "*.html" -or -name "*.c" |xargs wc -l 如果要统计ios开发代码,包括头文件的,命令如下 find . -name "*.m" -or -name "*.h" -or -…
公司给出一个需求,指定时间内,统计请求driver.upload.position(司机位置上报接口)中,来源是华为push(come_from=huawei_push)的数量,要求是按天统计. 看一下url格式,url中,method参数就是所请求的接口地址 api10 /May/::: + | GET /rest?app_ver=&come_from=huawei_push&&gps_type=baidu&latitude=&longitude=&mod…
PV.UV是网站分析中最基础.最常见的指标.PV即PageView,网站浏览量,指页面的浏览次数,用以衡量网站用户访问的网页数量.用户没打开一个页面便记录1次PV,多次打开同一页面则浏览量累计:UV即UniqueVistor,独立访客数,指1天内访问某站点的人数,以cookie为依据.1天内同一访客的多次访问只计为1个访客:通过linux的shell可以快速的统计pv和uv. nginx log格式如下: log_format pushlogs '$remote_addr - $remote_u…
语法:wc [选项] 文件- 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. 该命令各选项含义如下: - c 统计字节数. - l 统计行数. - w 统计字数. 这些选项可以组合使用. 输出列的顺序和数目不受选项的顺序和数目的影响. 总是按下述顺序显示并且每项最多一列. 行数.字数.字节数.文件名 如果命令行中没有文件名,则输出中不出现文件名. 例如: $ wc -l f1 f2  …
功能,统计某一目录下所有文件代码行数: 例如统计某一目录下所有.c结尾的文件代码行数:find . -name "*.c"|xargs cat|grep -v ^$|wc -l ^C 使用方法:打开终端,cd至要统计代码的文件目录下,运行此命令即可.…
基本需求 分析完数据后,一般需要将数据以附件的形式发送处理,这个已经在<>中有介绍,如何 用Python实现附件的发送. 但不是所有人都关心附件的内容,一般邮件中需要有些概要的信息,如附件信息的统计信息等. 这就需要以表格的形式发送出来. 如何设计一个通用的产生Table的函数,对模块的复用性大有益处. 一个表格必备的有表格名,表格各列的解释,数据. 如下是我的尝试(代码说明问题) function GenerateTable() { local header="$1" l…
Ubuntu14.04 给定一个文本,统计其中单词出现的次数 方法1 # solution 1 grep与awk配合使用,写成一个sh脚本 fre.sh sh fre.sh wordfretest.txt #! /bin/bash# solution 1 ] then echo "Usage:$0 args error" exit fi ] then echo "analyse the first file $1" fi #get the first file fi…
统计“abbc”中“b”的个数 1:awknum=`echo abbc | awk -F"b" '{print NF-1}'` 2:trnum=`echo abbc | tr -cd "b" | wc -c` 3:sednum=`echo -n abbc | sed 's/[^b]*//g' | wc -c`…
1. 统计当前文件夹下文件的个数 ls -l |grep "^-"|wc -l 2. 统计当前文件夹下目录的个数 ls -l |grep "^d"|wc -l 3.统计当前文件夹下文件的个数,包括子文件夹里的  ls -lR|grep "^-"|wc -l 4.统计文件夹下目录的个数,包括子文件夹里的 ls -lR|grep "^d"|wc -l grep "^-"  这里将长列表输出信息过滤一部分,只保留…
语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. 该命令各选项含义如下: - c 统计字节数. - l 统计行数. - w 统计字数.…
#nginx日志统计独立ip的个数: awk '{print $1}' /path-to-log-dir/access.log | sort | uniq | wc -l #查询访问最多的前10个ip #查看某段时间的 grep "2012:0[3-6]" nginx.log | Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp TI…
原始数据在最后 baiqiang.txt文件中 shell命令: cat baiqiang.txt | grep -P "^国|^☆" | awk -F" " '{ print substr($2, 1, 2); }' | sort | uniq -c | sort -nr 结果如下: 27 江苏 22 山东 18 浙江 10 辽宁 7 福建 4 湖南 3 陕西 3 河南 3 河北 3 吉林 2 江西 2 广东 2 四川 2 内蒙 1 黑龙 1 贵州 1 湖北 1…
有日志 1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com“/seccode.php?update=0.5593110133088248″ 200″http://formula�x.haotui.com/registerbbs.php” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1;)”61.147.76.51 – [25/S…
(对一列数字求和) 在日常工作当中需要对文本过滤出来的数字进行求和运算,例如想统计一个MySQL分区表现在有多大 # ls -lsh AdPlateform#P#p*.ibd  |grep G 2.6G -rw-rw---- 1 mysql mysql 2.6G Mar  4 01:05 AdPlateform#P#p20200304.ibd 2.9G -rw-rw---- 1 mysql mysql 2.9G Mar  5 01:12 AdPlateform#P#p20200305.ibd #…
目录 统计文件的行数 题目 题解-awk 题解-wc 题解sed 统计文件的行数 题目 写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数 示例: 假设 nowcoder.txt 内容如下: #include <iostream> using namespace std; int main() { int a = 10; int b = 100; cout << "a + b:" << a + b << endl;…
题目链接 题目描述 写一个 bash脚本以统计一个文本文件 nowcoder.txt 中每个单词出现的个数. 为了简单起见,你可以假设: nowcoder.txt只包括小写字母和空格. 每个单词只由小写字母组成. 单词间由一个或多个空格字符分隔. 示例: 假设 nowcoder.txt 内容如下: welcome nowcoder welcome to nowcoder nowcoder 你的脚本应当输出(以词频升序排列): to 1 welcome 2 nowcoder 3 说明: 不要担心个…
题目要求 有日志 1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com"/seccode.php?update=0.5593110133088248″ 200″http://formula�x.haotui.com/registerbbs.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1;)"…
#!bin/bash a= $) ;do n= $x);do ];then n=$[$n+] fi done ];then { echo -n -e "$x\t" sum=$[$sum+$x] a=$[$a+] } ];then { echo a= } fi done echo echo "1到$1之间的质数之和为:$sum" 变量: sum 累加质数的和 a 格式打印控制 n 判断是否为质数 2 则为质数…
公司新的需求,怀疑PV和IP的比例不对,看是不是有恶意的东东: NGINX配置: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_cookie" "$request_time&q…
for i in `ls -r *_*.csv`;do cat $i|echo $i": "`wc -l`;done>tongji.txt…
今天有个人问了这样一个问题,图片是原题,在这个题的基础上写了一个实现方法 首先日志存到a.txt文本里,如下 Zhangsan|lisi1|0|Zhangsan|lisi2|10|Zhangsan|lisi3|6|Zhangsan|lisi4|0|Zhangsan|lisi5|0|Lisi|list1|0|Lisi|list2|5| 代码如下: #!/bin/sh awk ,|awk 'BEGIN{FS="`";curline="";name=""…
#!/bin/bash  SUM=0 OVERALL=0 for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"` do     PID=`echo $DIR | cut -d / -f 3`     PROGNAME=`ps -p $PID -o comm --no-headers`     for SWAP in `grep Swap $DIR/smaps 2>/dev/null | awk '{ …