文件内容: 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:0

ifconfig 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的更多相关文章

  1. Linux文本处理工具

    Linux文本处理工具 Linux中熟练的使用文本处理工具非常的重要, 因为Linux在设计的时候是采用一切皆文件的哲学的, 甚至连计算机中的配置也都使用伪文件系统来表示, 要查询里面的内容就是对文件 ...

  2. Linux文本编译工具VIM详解

    Linux文本编译工具VIM详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.VIM概述 1>.vim简介 >.vi: 全称Visual editor,即文本编辑 ...

  3. Linux文本查看工具

    文本查看工具 cat 特点: 不能用来看二进制文件 选项: -A: 显示不可见字符 cat支持标准输入: cat > aa.txt ---键盘作为标准输入,输出的结果重定向文件中去了 cat & ...

  4. Linux 文本处理工具grep,sed,awk

    grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...

  5. linux 文本分析工具---awk命令(7/1)

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...

  6. linux文本处理工具篇

    一.常用简单工具 cat [OPTION]... [FILE]...  -E:显示行的结束符$ -n:对显示出的每一行进行编号. -A:显示所有控制符 -s:压缩连续空行为一行 more:分页查看文件 ...

  7. Linux文本处理工具——Sed

    sed:数据流编辑器: awk:报告文本的生成器 sed 基本用法:(Stream EDitor) Stream 流 EDitor 编辑器 行编辑器 全屏编辑器:vi/vimsed:内存空间(模式空间 ...

  8. linux文本处理工具及正则表达式

    cat命令:查看文本内容 cat [选项]... [文件]... -E    显示行结束符 -n    显示文本内容时显示行号 -A    显示所以控制符 -b    非空行编号 -s     压缩连 ...

  9. Linux 文本处理工具(grep sed awk )

    ^test: 以test开头; test$: 以test结尾: ^$: 表示空行,不是空格: . :代表且只代表任意一个字符(其他功能:当前目录,加载文件): \ : 代表转义字符,表示特殊字符: * ...

随机推荐

  1. 题解【POJ1160】Post Office

    [POJ1160]Post Office Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 22362 Accepted: 1208 ...

  2. Python记:列表和元组之序列相加

    _______________坐而论道,不如起而行之! 序列乘法运算示例:

  3. xhr 的 onpregress 监听上传数据的 已上传 和 总大小

    var fd=new FormData(); $('.mwd_uppingzheng_btna_ok').on('click',function () { // 数组转 str var strarr= ...

  4. kuangbin专题 专题九 连通图 Network UVA - 315

    题目链接:https://vjudge.net/problem/UVA-315 题目:求割点. #include <iostream> #include <cstdio> #i ...

  5. Maven安装与学习

    一.安装 1.下载http://maven.apache.org/download.cgi 2.选择zip格式 安装完后解压到某一位置(E:\xitong\major\apache-maven-3.6 ...

  6. map文章

    STL map常用操作简介 http://www.kuqin.com/cpluspluslib/20071231/3264.html STL中map用法详解 http://www.kuqin.com/ ...

  7. Logarithmic-Trigonometric积分系列(二)

    \[\Large\displaystyle \int_0^{\pi/2}\ln^2(\sin x)\ln(\cos x)\tan x \,{\rm d}x\] \(\Large\mathbf{Solu ...

  8. C语言特点有哪些?

    C语言的特点 : 1.简洁紧凑.灵活方便 C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示.它把高级语言的基本结构和语句与低级语言的实用性结合起来. C 语言可以象汇编语言一 ...

  9. OBS_Classic经典版框架

    一,简介 OBS(open boardcast server),是一个用于直播的开源软件. 官方网站:https://obsproject.com/ 代码托管地址:https://github.com ...

  10. MySQL数学函数简明总结

    1. ABS(x): 返回x的绝对值 mysql> select ABS(1), ABS(-1), ABS(0); +--------+---------+--------+| ABS(1) | ...