chriszg 发表于 2018-5-13 12:56:04

Redhat_rh033_g

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:技术单词总字数,行总数,字节总数和字符总数
wcstory.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 '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      取消默认的输出
页: [1]
查看完整版本: Redhat_rh033_g