文本字符处理工具

文件查看命令 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 15:43
下一篇 2017-02-25 17:33

相关推荐

  • Hadoop hdfs 分布式文件系统

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-08-05
  • 马哥教育第20期一班第一周作业

    一、利用echo将下图弄成闪烁;字体自带颜色且有下滑线? [root@centos7 ~]# echo -e "\033[31m\033[4m\033[5m\0052\0052\0052\0052\0052\0052\0052\n \0052\0052\0052\0052\0052\n &…

    Linux干货 2016-07-29
  • Tomcat基础及常见使用入门

    Tomcat的简单介绍,安装,以及简单的配置运用

    2017-09-11
  • shell脚本编写-1

    1、脚本调试-脚本运行前要进行脚本调试    bash -n /path/to/some_script 检测脚本中的语法错误    bash -x /path/to/some_script 调试执行 2、shell是弱类型编程语言 1)、无须指定变量类型,默认为字符型;变量参与运算会自动进行隐式类型转换;变量无须事先定…

    Linux干货 2016-08-15
  • Linux中软链接和硬链接的区别

    Linux中软链接和硬链接的区别 链接文件:   Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 Inode 文件除了纯数据本身之外,还必须包含有对这些纯数据的管理信息 文件名; 访问权限; 文件的属主以; 该文件的数据所对应的磁盘数据块; 文件的时间戳; …

    Linux干货 2016-10-20