linux文本处理工具-1
文件内容: cat ,more,less
文件截取:head,tail
按列抽取:cut
排序和统计:sort,wc
-----------------------------------------------------
cat [OPTION]... [FILE]... //用于查看字符文件
-E:显示行结束符$
-n:对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行
------------------------------------------------------
分页查看
more:分页查看文件
more [OPTIONS...] FILE...
-d: 显示翻页及退出提示
less:一页一页地查看文件或STDIN输出
查看时有用的命令包括:
/文本 搜索 文本
n/N 跳到下一个 或 上一个匹配
less 命令是man命令使用的分页器
less
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
还可以在冒号后面直接输入 /要搜索的关键字 进行 高亮显示,可以 用 n 向前查找或者 N 向后查找。
------------------------------------------------------------------------
head 查看文件的前几行
head failename 默认显示文件的前十行 head -n11 passwd ==head -11 passwd //指定了查看文件的前几行
tail 查看文件的后几行
tail failename 默认显示文件的后十行 tail -n11 passwd == tail -11 passwd //指定了查看文件的后几行
tail -f catalina.out 追踪文件新增加的内容,常用于日志监控
---------------------------------------------------------------------------------------------
cut 按列抽取文本
cut [OPTION]... [FILE]...
-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6
混合使用:1-3,7
-c 按字符切割
实例:
cut -d: -f1,3 /etc/passwd //以:作为分隔符,取第1,3列
cat /etc/passwd | cut -d: -f1,3 显示结果是这种 root:0ifconfig ens33 |head -2|tail -1| tr -s " "|cut -d" " -f1-3
ifconfig ens33 |head -2|tail -1| tr -s " "|cut -d" " -f1,2,3
cut -c34-36 // 截取第34到36个字符
------------------------------------------------------------------------------------------------------
wc 统计数据
计数单词总数、行总数、字节总数和字符总数
wc story.txt
39 237 1901 story.txt
行数 字数 字节数
常用选项
- -l 只计数行数
- -w 只计数单词总数
- -c 只计数字节总数
- -m 只计数字符总数
- -L 显示文件中最长行的长度
--------------------------------------------------------------------------------------------------------------------
tr
tr ' ' + //把' '替换成+
tr -s ' ' //压缩空格
tr -d '0-9' //删除字符
tr -dc '[0-9\n]' //除此之外的其他字符删除
tr -s " " % 压缩并替换
-----------------------------------------------------------------------
文本排序sort 根据列来排序( 一个字符,一个字符比较)
常用选项
- -r 执行反方向(由上至下)整理
- -R 随机排序
- -n 执行按数字大小整理
- -f 选项忽略(fold)字符串中的字符大小写
- -u 选项(独特,unique)删除输出中的重复行
- -t c 选项使用c做为字段界定符
- -k X 选项按照使用c字符分隔的X列来整理能够使用多次
echo {1..10}|tr ' ' '\n'|sort -rn //把 一行数字 转成一列数字,然后按照数字排序
----------------------------------------------------------------------------------------------
uniq
uniq命令:从输入中删除前后相接的重复的行
uniq [OPTION]... [FILE]...
- -c: 显示每行重复出现的次数
- -d: 仅显示重复过的行
- -u: 仅显示不曾重复的行
- 注:连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq -c
--------------------------------------------------------------------------------
grep 过滤行
grep [OPTIONS] PATTERN [FILE...]
- --color=auto: 对匹配到的文本着色显示
- -m # 匹配#次后停止
- -v 显示不被pattern匹配到的行
- -i 忽略字符大小写
- -n 显示匹配的行号
- -c 统计匹配的行数
- -o 仅显示匹配到的字符串 把匹配到的字符 一行一行的显示
- -q 静默模式,不输出任何信息
- -A # after, 后#行
- -B # before, 前#行
- -C # context, 前后各#行
- -e 实现多个选项间的逻辑or关系 grep –e ‘cat ’ -e ‘dog’ file
- -w 匹配整个单词
- -E 使用ERE
- -F 相当于fgrep,不支持正则表达式
- -f file 根据模式文件处理
nmap -v -sP 172.16.128.0/24 |grep -B1 up //匹配含有up行的 前一行
|grep -e root -e bin 多个条件 或者包含 //包含root或者包含 bin
ls |grep -v [abc] //文件名中不包含a b c 三个字母的文件名
cat /etc/centos-release |grep -o "\<[0-9]\+\>"|head -1 //匹配 单个的数字
[root@centos7 ~]#grep -E "^([^:]+):.*\<\1$" /etc/passwd 分组 //扩展的正则表达式
---------------------------------------------------------------------------------------------
正则表达式
字符匹配:
- . 匹配任意单个字符
- [ ] 匹配指定范围内的任意单个字符,示例:[wang] [0-9] [a-z] [a-zA-Z]
- [^] 匹配指定范围外的任意单个字符
匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
- * 匹配前面的字符任意次,包括0次 贪婪模式:尽可能长的匹配
- .* 任意长度的任意字符
- \? 匹配其前面的字符0或1次
- \+ 匹配其前面的字符至少1次
- \{n\} 匹配前面的字符n次
- \{m,n\} 匹配前面的字符至少m次,至多n次
- \{,n\} 匹配前面的字符至多n次
- \{n,\} 匹配前面的字符至少n次
位置锚定:定位出现的位置
- ^ 行首锚定,用于模式的最左侧
- $ 行尾锚定,用于模式的最右侧
- ^PATTERN$ 用于模式匹配整行 ^$ 空行 ^[[:space:]]*$ 空白行
- \< 或 \b 词首锚定,用于单词模式的左侧 (单词模式:数字字母下划线算单词的一部分,其他算单词的分界线)
- \> 或 \b 词尾锚定,用于单词模式的右侧
- \<PATTERN\> 匹配整个单词
分组:\(\) 将一个或多个字符捆绑在一起,当作一个整体处理,如:\(root\)\+
或者:\|
示例:a\|b a或b C\|cat C或cat \(C\|c\)at Cat或cat
扩展正则表达式
egrep = grep -E
和基本正则表达式的区别就是,有一些地方不用加斜线(\),
基本正则表达式需要用到斜线的地方: \( \) \< \> \{\} \+ \?
扩展的正则表达式 : \< \>
ifconfig |grep -oE "(2[0-4][0-9]|25[0-5]|1[0-9][0-9]|[1-9]?[0-9])(\.(2[0-4][0-9]|25[0-5]|1[0-9][0-9]|[1-9]?[0-9])){3}" //扩展正则表达式匹配ip
ifconfig |grep -Po "((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)" //perl正则表达式匹配ip
vim %s#^\(/download.*\)/media/\(.*\)\..*$#\1/mp3/\2.mp3 // vim 搜索替代 分组
linux文本处理工具-1的更多相关文章
- Linux文本处理工具
Linux文本处理工具 Linux中熟练的使用文本处理工具非常的重要, 因为Linux在设计的时候是采用一切皆文件的哲学的, 甚至连计算机中的配置也都使用伪文件系统来表示, 要查询里面的内容就是对文件 ...
- Linux文本编译工具VIM详解
Linux文本编译工具VIM详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.VIM概述 1>.vim简介 >.vi: 全称Visual editor,即文本编辑 ...
- Linux文本查看工具
文本查看工具 cat 特点: 不能用来看二进制文件 选项: -A: 显示不可见字符 cat支持标准输入: cat > aa.txt ---键盘作为标准输入,输出的结果重定向文件中去了 cat & ...
- Linux 文本处理工具grep,sed,awk
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...
- linux 文本分析工具---awk命令(7/1)
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- linux文本处理工具篇
一.常用简单工具 cat [OPTION]... [FILE]... -E:显示行的结束符$ -n:对显示出的每一行进行编号. -A:显示所有控制符 -s:压缩连续空行为一行 more:分页查看文件 ...
- Linux文本处理工具——Sed
sed:数据流编辑器: awk:报告文本的生成器 sed 基本用法:(Stream EDitor) Stream 流 EDitor 编辑器 行编辑器 全屏编辑器:vi/vimsed:内存空间(模式空间 ...
- linux文本处理工具及正则表达式
cat命令:查看文本内容 cat [选项]... [文件]... -E 显示行结束符 -n 显示文本内容时显示行号 -A 显示所以控制符 -b 非空行编号 -s 压缩连 ...
- Linux 文本处理工具(grep sed awk )
^test: 以test开头; test$: 以test结尾: ^$: 表示空行,不是空格: . :代表且只代表任意一个字符(其他功能:当前目录,加载文件): \ : 代表转义字符,表示特殊字符: * ...
随机推荐
- 【音乐欣赏】《紅蓮華》 - LiSA
曲名:紅蓮華 作者:LiSA [00:00.92]強くなれる理由を知った [00:07.34]僕を連れて 進め [00:18.74]泥だらけの走馬灯に酔う [00:24.37]強張る心 震える手は [ ...
- python 中if和elif的区别
如果程序中判断事件很多,全部用if的话,会遍历整个程序,用elif 程序运行时,只要if或后续某一个elif之一满足逻辑值为True,则程序执行完对应输出语句后自动结束该轮if-elif(即不会再去冗 ...
- 【转载】Java泛型(一)
转自:http://www.cnblogs.com/lzq198754/p/5780426.html 1.为什么需要泛型 泛型在Java中有很重要的地位,网上很多文章罗列各种理论,不便于理解,本篇将立 ...
- typedef基本用法
[代码演示] 例一 例二 例三
- kuangbin专题 专题九 连通图 POJ 1236 Network of Schools
题目链接:https://vjudge.net/problem/POJ-1236 题目:有向图,有若干个连通图,点之间有单向边边就可以单向传递信息,问: (1)至少需要发送几份信息才能使得每个点都传递 ...
- 解决Hbase启动后,hmaster会在几秒钟后自动关闭(停掉)!!!
在日志(身为小白白的我,一开始日志在哪我都不知道!路径:/usr/local/hadoop/app/hbase-0.98.8/logs/hbase-hadoop-master-Master.log(也 ...
- win7安装composer(PHPStudy环境)
好句没写博客园了,因为现在的公司就是写代码啥的,没有什么新的东西,但是光写代码也学到不少东西,因为本身太菜了,最近让做一个pdf表单的功能,首先得安装php-pdftk,看GitHub里面用compo ...
- 短网址(t.cn、url.cn)生成,网址缩短接口API
简要说明 短网址api接口有很多格式,不同的接口生成的短网址格式也不同,比如常见的t.cn.url.cn.w.url.cn等格式.总而言之短网址接口就是用来将一个冗长的链接缩短成10个字符以内的短链接 ...
- wampserver 配置的几个坑(雾
1. 从安装版本说起 自从我进入大学之后,便继承了学长那里的wampserver2.5版本 直到有一天自己下载wamp的时候才注意到已经有 3.0.6版本了 (现在有更高的了 但是3.0.6够用了) ...
- 【Hibernate 懒加载】debug模式懒加载获取空数据
<many-to-one name="department" class="k.domain.Department" column="depar ...