Shell命令行
利用wc命令统计文件行,单词数,字符数,利用sort排序和去重,再结合uniq可以进行词频统计。
- cat file.txt
- sort hello.c | uniq -c | sort -nr |head -5
用cat
命令查看文件格式与内容。先对文件进行排序,再用uniq -c
命令统计不同单词及各个单词出现的次数,得到的结果就是次数后面紧挨的单词,然后使用sort -nr
对次数进行排序,并逆序显示,最后head -5
命令显示结果的前5行。
类似于sql语句:
- select word,count(1) cnt
- from file
- group by word
- order by cnt desc
- limit 5;
探索性分析
常用命令:
gzip/tar
:压缩/解压cat/zcat
:文件查看less/more
:文件查看,支持gz压缩格式直接查看,分页查看文件head/tail
:查看文件前/后10行wc
:统计行数、单词数、字符数du -h -c -s
:查看空间占用awk
:命令行下数据库操作工具join/cut/paste
:关联文件/切分字段/合并文件fgrep/grep/egrep
:全局正则表达式查找find
:查找文件,并且对查找结果批量化执行任务sed
:流编辑器,批量修改、替换文件split
:对打文件进行切分处理,按多少行一个文件,或多少字节一个文件rename
:批量重名民(Ubuntu上带的Perl脚本,其他系统需要安装),使用-n
命令进行测试gzip -d a.gz #解压缩日志
tar zcvf/jcvf one.tar.bz2 one #直接查看压缩日志
less a.gz #无需先解压
以z
开头的几个命令可以简单处理gzip
压缩文件,如zcat
:直接打印压缩文件,还有zgrep/zfgrep/zegrep
,在压缩文件中直接查找
- #查询字符串,并显示匹配行的前3行和后3行内容
- fgrep 'yunjie-talk' -A 3 -B 3 log.txt
- #在当前目录(及子目录)下,所有的log文件中搜索字符串hacked by:
- find . -name "*.log" | xargs fgrep "hacked by"
fgrep,grep,egrep的一些区别:fgrep
按字符串的本来意思完全匹配,里面的正则元字符当成普通字符解析,如:fgrep “1.2.3.4”
只匹配IP地址:1.2.3.4,其中不会匹配任意字符。fgrep比grep快很多。grep只使用普通的一些正则。egrep或grep -E使用扩展的正则。
- egrep “one|two” #匹配one或two
- grep -E -v ".jpg|.png|.gif|.css|.js" log.txt |wc -l
查找所有来自日本的IP的请求,先把所有来源IP提取出来,去重,找出日本的IP,放入文件japan.ip,再使用命令:
- cat log.gz | gzip -d | fgrep -f japan.ip > japan.log
对hive中导出的文件,替换01
- cat 0000* | sed 's/x1/ /g' > log.txt
其他常用命令
date
:命令行时间操作函数sort/uniq
:排序、去重、统计comm
:对两个排序文件进行按行比较(共同行、只出现在左边文件、只出现在右边文件)diff
:逐字符比较文件的异同,配合cdiff
,类似于github的显示效果curl/w3m/httpie
:命令行下进行网络请求iconv
:文件编码转换,如:iconv -份GB2312 -t UTF-8 1.csv > 2.csv
seq
:产生连续的序列,配合for循环使用
Shell命令行的更多相关文章
- 几种在shell命令行中过滤adb logcat输出的方法
我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adblog ...
- 自学Linux Shell2.1-进入shell命令行
点击返回 自学Linux命令行与Shell脚本之路 2.1-进入shell命令行 进入文本命令行界面(CLI)两种方法: 控制台终端 图形化终端 1. 通过Linux控制台终端访问CLI 按下Ctrl ...
- Hadoop HDFS的shell(命令行客户端)操作实例
HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls 功能:显示目录信息 示例: hadoop fs ...
- Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本
Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文 ...
- HDFS shell命令行常见操作
hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...
- Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本
Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本 不知道为什么,我总想用 Shell 脚本来实现把一个站点内容给下载下来.但是下载什么站点我确不知道.今天尝试了一下利用 curl ...
- Shell 命令行,实现对若干网站状态批量查询是否正常的脚本
Shell 命令行,实现对若干网站状态批量查询是否正常的脚本 如果你有比较多的网站,这些网站的运行状态是否正常则是一件需要关心的事情.但是逐一打开检查那简直是一件太糟心的事情了.所以,我想写一个 sh ...
- Shell 命令行 从日志文件中根据将符合内容的日志输出到另一个文件
Shell 命令行 从日志文件中根据将符合内容的日志输出到另一个文件 前面我写了一篇博文Shell 从日志文件中选择时间段内的日志输出到另一个文件,利用循环实现了我想要实现的内容. 但是用这个脚本的同 ...
- Shell 命令行统计 apache 网站日志访问IP以及IP归属地
Shell 命令行统计 apache 网站日志访问IP以及IP归属地 我的一个站点用 apache 服务跑着,积攒了很多的日志.我想用 shell 看看有哪些人访问过我的站点,并且他来自哪里. 因为日 ...
- Shell 命令行获取本机IP,grep的练习
Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...
随机推荐
- IOS百度地图语音导航
VoiceNavigationViewController.m * 客户端需安装百度导航地图 #import "VoiceNavigationViewController.h" # ...
- kaggle之电影评论文本情感分类
电影文本情感分类 Github地址 Kaggle地址 这个任务主要是对电影评论文本进行情感分类,主要分为正面评论和负面评论,所以是一个二分类问题,二分类模型我们可以选取一些常见的模型比如贝叶斯.逻辑回 ...
- httpwatch 9.3怎么在ie 8上看不到
首先,确认HttpWatch Basic加载项是否启动:打开IE,单击工具图标并选择管理加载项.确认HttpWatch Basic的状态是已启用,点击关闭.之后打开某个网页,在页面空白处右击选择Htt ...
- 极致精简的fragment实现导航栏切换demo
一个小demo.用button+fragment实现导航栏切换界面,适合刚接触的新手看一下. 效果图 点击第二个后 源码: 主界面 <span style="font-size:18p ...
- CMD下修改IP地址
@echo off netsh interface ip set address name="本地连接" static 192.168.1.55 255.255.255.0 192 ...
- toj4119HDFS
In HDFS( Hadoop Distributed File System), each data may have a lot of copies in case of data lose. T ...
- git-svn 的使用
从 SVN 克隆代码 git svn clone https://192.168.1.3/svn/project-name git-svn 初始化 git svn init (svn remote ...
- AdapterView及其子类之四:基于ListView及SimpleAdapter实现列表
代码请见SimpleAdapterDemo.zip. 步骤如下: 1.创建主布局文件 <RelativeLayout xmlns:android="http://schemas.and ...
- netbeans ide怎么添加yii代码提示
菜单栏选择工具->选项->php界面里的全局包含路径中选择framework这个文件夹就可以了
- Jquery一个slideToggle搞定div的隐藏与显示
Jquery一个slideToggle搞定div的隐藏与显示 <!DOCTYPE html> <html> <head> <script src=" ...