如何统计重复日期个数
数据库qq群里有个人提了个问题,百思不得其解。 题目是这样,有个文件,里面很多行,每一行都是1-31不等的每月的日期数字,每个数字用一个空格隔开,请统计每个数字重复1-31次的个数。 文件大致内容如下, 01 05 06 07 09 10 22 23 24 25 26 27 31 02 03 04 05 06 12 15 16 18 21 22 23 25 ……………. …………….
never too old to learn
数据库qq群里有个人提了个问题,百思不得其解。 题目是这样,有个文件,里面很多行,每一行都是1-31不等的每月的日期数字,每个数字用一个空格隔开,请统计每个数字重复1-31次的个数。 文件大致内容如下, 01 05 06 07 09 10 22 23 24 25 26 27 31 02 03 04 05 06 12 15 16 18 21 22 23 25 ……………. …………….
Linux中查找文件时,有时候不想遍历指定目录下的所有子目录,因为子目录可能包含N多文件,扫描时间慢,这时候就需要忽略这些目录。 举个实例,例如要扫描磁盘根目录下所有超过100M的文件,但是目录“/mnt”和"/media"下往往有很多文件,要忽略他们,具体方法如下, find / \( -path "/mnt" -o -path "/media" \) -prune -o -type f -size +100M -print 2>/dev/null 在Linux实际运行的结果展示如下图,
iptables是Linux主机防火墙的规则写入工具,默认的大部分发行版都是iptables 1.4.7,所以升级至高版本非常有必要。 IPtables版本升级到v1.4.9操作 一、下载 wget http://soft.kwx.gd/module/iptables-1.4.9.tar.bz2 二、解压 tar xjvf iptables-1.4.9.tar.bz2 cd iptables-1.4.9 三、安装 ./configure make make install 四、替换 service iptables stop cd /usr/local/sbin…
Jira(敏捷项目管理系统)安装完毕后,默认是个tomcat服务器,对外的服务端口是8080,用户访问、机器性能都不太好,所以建议搞个nginx做前端代理。 1 安装OpenResty 目前openresty经过改造,比nginx更加强大, OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。 此处我们以root用户来编译安装openresty yum -y install readline-devel pcre-devel openssl-devel gcc wget -c -P /tmp https://openresty.org/download/openresty-1.9.7.5.tar.gz cd /tmp tar xvf /tmp/openresty-1.9.7.5.tar.gz cd openresty-1.9.7.5 ./configure –prefix=/opt/openresty \ –with-luajit \ –without-http_redis2_module \ –with-http_iconv_module make && make install groupadd nginx useradd -s /sbin/nologin -M -g nginx…
在用AWK匹配字符串时候, 数字还好,如果是字母就需要考虑大小写,除非你清晰的记得你要搜索的字符串。 废话不多说,例子说话。 有个文件名为file.txt,内容如下, 376471 376471 java.lang.NullPointerException: null 376584 376584 java.lang.NullPointerException: null 376624 376624 java.lang.NullPointerException: null 376767 376767 java.lang.NullPointerException: null 376807 376807 java.lang.NullPointerException: null 376937 376937 java.lang.NullPointerException: null 376977 376977 java.lang.NullPointerException: null 问: 如何用AWK匹配NullPointerException字符串,在你不知道这个字符串里哪个是大小写的情况下? 答:AWK里有内建函数tolower()和toupper(),可以将域字段转换为小写或大写 [pc@centos603 ~]$ awk 'tolower($0) ~ /nullpoint/ { print NR,FNR,$0 }' file.txt 1 1 376392 376392 java.lang.NullPointerException: null 2…
一、去列 有些情况下, 我们再文本处理的时候需要把前面几列删除掉,特别是在使用去重uniq命令的时候。 使用AWK可以解决问题。 例如,一个文件file.txt内容如下,需要进一步的去重动作,此时需要删除第一列再使用uniq命令。 13 app_version: '1' } {} 17 app_version: '1' } {} 1 app_version: '1' } {} 1 app_version: '1' } {} 1 app_version":"1.2.0"," 1 app_version":"1.2.0"," 1 app_version":"1.2.1"," 1 app_version":"1.2.1"," 1 app_version":"1.2.1"," 1 app_version":"1.2.1"," 1 app_version":"1.2.1"," 1 app_version":"1.2.1"," …
1 扫描在线主机 nmap -sP 172.17.1.0/24 或者 nmap -sP 172.17.1.* 2 UDP扫描开放的端口,快速 注意: 只有最前面的 1024 个常用端口会被扫描,且需要root权限执行。(注:这里将 1000 改成了1024,因为手册中写的是默认扫描 1 到 1024 端口) nmap -sU 172.17.1.160 3 SYN全端口扫描 使用aggressive(4)时间模板,快速扫描开放的端口和查看服务器版本,不加-T4可能扫描的慢 nmap -sS -T4 -sV 172.17.1.160 在aggressive(4)的时间模板下,探测操作系统的类型和版本,并显示traceroute路由结果。 nmap -sS -T4 -A -O 172.17.1.160 4 从文件读取IP列表并扫描 nmap -iL…
一般情况下,我们删除文本文件里 的空行的命令是 sed -i -e '/^$/d' file 最近拷贝一段文字,想统计有多少行,但是这段文字里有很多空行,于是用上面的命令删除空行,不管用,空行依然在。 原因分析: 空行不是全由空格组成,还有tab空格 正确姿势:sed -i -e '/^[ \t]*$/d' file
今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。 TurnOff.us 是一个极客漫画网站,作者Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的全貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 地基 作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企鹅,它表示着 PID(进程 ID(Process ID)) 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗(watchdog) ,这代表对文件系统的监控。 一层(地面层) floor 看完了地基,接下来我们来看地基上面的一层,都有哪些东西。 Process Table 在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。这个垫子的区域代表进程表。 左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长式的人物,不过看起来周围坐的那些小企鹅不是很听话——你看有好多走神、自顾自聊天的——“喂喂,说你呢,哇塞娃(171),转过身来”。它代表着 Linux 内核中的初始化(init)进程,也就是我们常说的 PID 为 1 的进程。桌子上坐的小企鹅都在等待状态(wait)中,等待工作任务。 watchdog 瞧瞧,垫子(进程表)旁边也有一只小狗,它会监控小企鹅的状态(监控进程),当小企鹅们不听话时,它就会汪汪地叫喊起来。 httpd process 在这层的左侧,有一只号牌为 1341 的小企鹅,守在门口,门上写着 80,说明这个…
在性能测试中,对被测对象的监控很重要,其中nmon针对Linux服务器的监控效果不错,可以在一段时间内生成数据,配合nmon analyzer导入数据文件可生成详细的excel报表。 一、nmon的下载和使用 1 nmon下载 nmon官网下载网址是 http://nmon.sourceforge.net/pmwiki.php?n=Site.Download , 有二进制和源码两种下载方式,一般情况下,Linux服务器都是正常的发行版,可以下载二进制版本的nmon, 不需自行编译。 官网支持的架构主要有arm x86_64 power 等, 我们主要用到的架构是x86_64,可点击此硬件架构版本下载,如下图, 在被监控服务器上运行如下命令完成下载和解压, wget -c -P . https://svwh.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz mkdir nmon && cd nmon tar zxvf nmon16d_x86.tar.gz 解压出来有很多文件,选取合适自己Linux发行版本,如我的服务器版本是CentOS6.5,运行命令, chmod +x nmon_x86_64_centos6 cp -v nmon_x86_64_centos6 /usr/bin 执行nmon命令看结果: nmon 分别按下键盘上的 c n k 即可监控Linux的CPU、内存和内核运行情况,其他类型的监控,可以按照帮助信息完成。 二、nmon…