Redhat_rh033_g
文本处理工具:
抽取文本的工具:
               1.)文件内容:less和cat
               2.)文件截取:head和tail
               3.)按列抽取:cut
               4.)按关键字抽取:grep
查看文件内容:
cat:通过输出显示一个或多个文件
     -A        显示所有字符(-vTE)
     -s        把多个连续的空行合并成一个空行
     -b        给每行输出行号
less:一页一页地查看文件。查看时的命令有:
     /文本     搜索文本
     n/N       跳到下一个和上一个匹配
     v         进入文本编辑器
选项:-m       显示内容占整个文档的比例
      -M       显示共有多少行,并显示光标现在是在第几行
      -N       显示行号
查看文件的部分截取:
head:显示文件前十行。
     -n       改变要显示行的行数
tail:显示文件的最后十行
     -n       改变要显示的行数
     -f       跟随对文件的后续补充(应用于监控日志文件)
按关键字抽取文本:
grep(支持正则表达式):
grep "^root"  /etc/passwd   ;    cat /etc/passwd  | gerp  "^root"
     -i        不区分大小写地搜索文件
     -n        用来显示匹配的行号
     -v        用来显示不包含模式的行
     -c        只返回匹配模式行的总数
     -r        执行递归式文件搜索,从指定目录开始
     -AX       显示匹配行的同时,还显示匹配行的后X行
     -BX       显示匹配行的同时,还显示匹配行的前X行
     -E        egrep
     -h        不显示文件名
     -l        直列数匹配所在文件的文件名,文件名之间用换行符分隔
     -s        无声操作,只显示报错信息,一检查退出状态
     -o        显示匹配字符串本身,不显示匹配字符串所在的整行
     --color=  其后有3个值,说明了被匹配字符的颜色状态
按列抽取文本:
cut:显示文件或输入数据的指定列
     -d        用来指定分隔符
     -f        制定现实的列
     -c        按字符切割
例:ifconfig |  grep "inet addr"  | cut  -d' ' -f1   用来显示此时主机的ip地址
分析文本的工具:
                 1.)文本数据统计:wc
                 2.)整理文本:sort
                 3.)比较文件:diff和path
                 4.)拼写检查:aspell
收集文本统计数据:
wc:技术单词总字数,行总数,字节总数和字符总数
wc  story.txt
39(行数) 237(单词数)1901(字节数)story.txt          
     -l         只计行数
     -w         只计单词总数
     -c         只计字节总数
     -m         只计字符总数
整理文本:
sort:把整理过的文本显示在输出端(不改变原始文件) sort [选项] 文件
     -r         反方向排序
     -n         执行时按数字大小整理
     -f         忽略字符串中的字符大小写
     -u         删除输出的重复行
     -t c       选项使用c作为字段的定界符
     -k X       选项按照使用c字符分个字段X来整理
     -o         制定保存的位置
淘汰重复行:
sort -u 和 uniq
uniq:只要是相连的相同的行就被删除
     -u         只出现过一次的行
     -d         显示重复的行,单只显示一次
     -c         计数每一行重复了多少次
比较文件:
diff:比较两个文件之间的区别
diff file1 file2  以后面的文件为标准修改前面的文件 ">"代表取出 "<"代表加入
复制对文件的改变:
例:diff a.diff b.diff >path.2
    patch a.diff <path.2 (打补丁)
    patch -R a.diff <path.2 (回到未打补丁的状态)
对文本检查拼写:
aspell:1.)交互式检查文件中的拼写:aspell check /etc/passwd
       2.)非交互式地在STDIN中例举拼错的单词:aspell list |  /etc/passwd
处理文本的工具:
tr命令:把前面的字符都换位后面的字符并且一一对应;只读取STDIN中的数据
tr 'A-Z' 'a-z'  <.bash_profile  (该命令会吧中的大写字符都转换成小写字符) 相当于  cat .bash_profile | tr  'A-Z'  'a-z'
sed(stream editor):
                   1.)流编辑器
                   2.)在文本流上进行搜索/替换操作
                   3.)通常不改变源文件(加"-i"选项后改变原文件)
sed的命令格式: sed [options]  'pattern'  /path/to/somefiles
         a\      在当前行后添加一行或多行
         c\      用新文本修改当前行中文本
         d       删除行
         i\      在当前行之前插入文本
         h       把模式空间里的内容复制到缓存缓冲区
         H       把模式空间里的内容追加到缓存缓冲区
         1       列出非打印字符
         p       打印行
         n       读入下一输入行,并从下一条命令而不是第一条命令开始对其处理
         q       结束或退出sed
         r       从文件中读取输入行
         !       对所选行以外的所有行应用命令
         s       用一个字符串替换另一个
替换标志 g       在行内进行全局替换
         p       打印行
         w       将行写入文件
         x       交换暂存缓冲区和模式空间的内容
         y       将字符转换为另一字符
选项     -e      允许多项编辑
         -f      制定sed脚本文件名
         -n      取消默认的输出