文本字符处理工具

文件查看命令 cat,tac,rev
cat [options] [file]
  •     -E:显示行结束符
  •     -n:显示行号
                   nl file 也能实现相同的功能
  •     -b:显示非空行号
  •     -A:显示所有控制字符
  •     -s:压缩连续的空行成一行
tac 逆序显示,和cat相反

more:分页查看文件
  more [options ..] file..
    -d:显示翻页及退出提示

less:一页一页的查看文件或者stdin输出
   /文本 搜索 文本
   n/N 跳到下一个或上一个匹配
   less命令是man命令使用的分页器

head:显示文本前几行内容,默认显示10行,读10行
打印10行
   head [options] [file]
     options:
  •        -c #: 显示前多少个字节
  •        -n #: 显示前几行

tail:从文本末尾开始显示内容,默认后10行
  tail [options] [file]   
    options:
  •       -c #:取后几个字节
  •       -n #:取后几行
  •       -f  跟踪文件的 变化,不退出,动态显示文件的变化
               tail -f -n0 只显示变化的部分
               tail -f -n0& 转入后台执行,释放终端资源,jobs(查看后台执行程序的编号), fg 1(将后台程序转入前台)

cut:按列截取文本内容
  cut [options] [file]
    options:
      -d[characters] :指定分隔符,默认tab
      -f#: 指定字段
        #:显示某一列
        #,#离散的几列
        #-#连续的列
      -c 按字符切割
      –output-delimiter=string:指明输出分隔符
echo abcd | rev 倒序显示

wc:word count
  wc [options] [file]
    默认显示:xx行数 xxx单词数 xxx字节数 xx文件名
    options:
      -l 显示行数
      -w 显示单词数
      -c 显示字节数
      -m 显示字符数

sort 文本排序
  sort [options] [fil+e]
  •     -n 按数字大小排序
  •     -t character指定分隔符
  •     -k # 指定某一列
  •     -r 逆序排序
  •     -f 忽略大小写
  •     -u 重复的行只显示一次


uniq 报告或显示重复的行(连续行重复才算连续,断行重复不算连续)
  uniq [options] [file]
  -c 显示每行重复出现的次数
  •   -d 只显示重复过的行
  •   -u 仅显示未重复的行
    (连续且完全相同方为重复)

diff 比较两个文件有什么区别、生成补丁文件
  diff [option] [file1] [file2]
     diff -u f1 f2 > patch.txt

patch打补丁
  patch -b f1 < patch.txt 或者patch -b f1 patch.txt

grep :文本过滤
     grep,egrep,fgrep(不支持正则表达式)
    作用:文本搜索工具,根据用户指定的“模式”对目标进行逐行匹配,打印匹配到的行。
    grep [options] pattern [file]
      options:
  •         –color=auto 对匹配到行显示颜色
  •         -v 只显示未匹配到的行
  •         -i 忽略字符大小写
  •         -e 或者,连接不同的匹配条件
  •         -n 对匹配到的行显示行号
  •         -c 显示有多少行符合匹配条件
  •         -o 只显示匹配到的行
  •         -q 静默模式,不输出任何信息
  •         -A #:after显示匹配到行的并显示后续三行
  •         -B #:before:显示匹配到的行并显示前三行
  •         -C #:context:显示匹配到的行并显示前后各三行
  •         -w:匹配整个单词
  •         -E:扩展正则表达式
  •         -F:fgrep不支持正则表达式

正则表达式:由一些特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能。

元字符分类
  字符匹配:
  •     . :匹配任意单个字符
  •     []: 匹配指定范围内的字符
  •     [^]:匹配指定范围外的字符
  •     [:alnum:] 字母和数字
  •     [:alpha:] 字母
  •     [:lower:] 小写字母
  •     [:upper:] 大写字母
  •     [:blank:] 空白字符(空格和制表符)
  •     [:space:] 水平和垂直的空白字符
  •     [:cntrl:] 不可打印的控制字符
  •     [:print:] 可打印的字符
  •     [:digit:] 十进制数字
  •     [:graph:] 可打印的非空白字符
  •     [:punct:] 标点符号
  •     [:xdigit:] 十六进制数字cl

  匹配次数
  •     * 匹配前面的字符任意次
  •       贪婪模式,尽可能多的匹配 
  •     \?匹配0或一次
  •     \+匹配前面字符一次或者更多次
  •     \{#\}匹配前面字符#次
  •     \{m,n\}:匹配前面的字符至少m次,至多n次
  •     \{,n\}:匹配前面的字符至多n次
  •     \{n,\}匹配前面的字符至少n次

注:man 7 regex:正则表达式相关信息

原创文章,作者:switch,如若转载,请注明出处:http://www.178linux.com/70035

(0)
switchswitch
上一篇 2017-02-25
下一篇 2017-02-25

相关推荐

  • Memcached命令

    Memcache 的命令行用法: 1、启动Memcache 常用参数    memcached 1.4.3      -p <num>      设置端口号(默认不设置为: 11211)      -U <num> &nbsp…

    Linux干货 2015-05-18
  • 逻辑卷管理器

    逻辑卷管理器(LVM)     允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小     允许在多个物理设备间重新组织文件系统         • 将设备指定为物理卷   …

    Linux干货 2016-09-06
  • 文件管理类命令详解

    文件管理类命令详解 文件查看 cat 功能描述:连接文件并打印到标准输出上 命令格式:cat [OPTION]… [FILE]… OPTION: -b 对所有非空白行编号 -n 给所有输出行编号 -s 将连续多行空白行显示为一行空白行 -E 在每一行行尾显示$ FILE:可显示多个文件,文件之间以空格分隔 举例 将file1、file…

    Linux干货 2017-07-09
  • 携程全站瘫痪引发的思考

       为今年5月冠上多事之夏的名头已是无可厚非的一件事,自支付宝光纤被挖断后,携程又暴出全站瘫痪的风波,从5/28 11:00开始,直到晚上11:29分才全面恢复.互联网也是谣言四起,纷纷猜测百度腾讯谁会是下一个灾难的受害者。暂切抛开这些玩笑言论,就携程本次事情引发的思考太多,前车之鉴后事之师,如果携程的事情发生到我们身上,我们该怎么办,…

    Linux干货 2015-06-03
  • CentOS安装本地 YUM源 产生的问题和解决过程

    本人刚刚踏入Linux的神秘殿堂就被如何安装软件这样的问题难倒了,经过Google大神的指点,终于找到了如何配置YUM源的方法,其中也不是一帆风顺,也产生了一些小问题,这些都是基础知识,希望能够帮到刚刚学习Linux的朋友。     由于VMware的终端不好用,所以想换成XShell,过程中又需要配置网络属性,桥接到…

    Linux干货 2016-01-05
  • 基于通用二进制格式安装mysql

    实验环境: Linux主机:centos6.8 mysql二进制格式包:mysql-5.5.52-linux2.6-x86_64.tar.gz 1、解压包到特定目录 [root@centos6 ~]# tar xf mysql-5.5.52-linux2.6-x86_64.tar.gz -C /us…

    Linux干货 2016-10-29