文本字符处理工具

文件查看命令 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

相关推荐

  • 数据结构-栈和队列

    1.栈 1.1 栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示: 结论:后进先出(Last In First Out),简称为LIFO线性表。 栈的基本运算有六种: 构造空栈:InitStack(S)、 判栈空: StackEmpty(S)、 判栈满: StackFull(S)、 …

    Linux干货 2015-04-07
  • chmod命令详细用法

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [–help] [–version] mode file… 说明 : …

    Linux干货 2016-10-17
  • Linux基础知识(二)-bash基础特性,文件管理命令

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及相关示例演示。 2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内答及其示例演示 4、文件的元数据信息有哪些,分别表示什么含义,如何査看?如何修改文件的时间戳信息。 5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果? 6、显示/var目录下所有以l开头,以一个小写字母结…

    Linux干货 2016-09-26
  • redis主从复制(4)— client buffer

    1、 client buffer的设计 redis server以单进程的方式处理接收到的请求,而redis完成请求有些工作比较慢,比如网络IO和磁盘IO等比较慢的操作。redis为了提高处理客户端请求的响应时间,做了很多优化。比如网络io和磁盘io是异步完成、使用后台进程完成bgsave和bgrewriteaof工作,在server端为客户提供读buffe…

    Linux干货 2016-03-28
  • haproxy 监控配置

    方法一:在defaults段增加如下配置: stats refresh 30s #统计页面自动刷新时间stats uri /stats #统计页面urlstats realm baison-test-Haproxy #统计页面密码框上提示文本stats auth admin:admin123 #统计页面用户名和密码设置stats hide-version #…

    Linux干货 2018-03-19
  • grep简述

    grep(Globel Search Regular Expression and Printing out the line) 它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep包括grep、egrep和fgrep。 egrep表示扩展的grep,相比grep支持更多的匹配模式, “grep -E”相当于egrep。 fgrep是fast gre…

    2017-04-06