Linux命令:wc, grep, 正则, cut, paste, tr

来自实验楼的实验报告:

 第六次实验:

  1. wc [选项] [文件] :word count 统计文件内容信息

    -c 统计字节数

    -l 统计行数

    -m 统计字符数,每行结束换行符算一个字符,空格也算一个

    -w 统计字数(由空格 跳格 换行界定的字符串)

    -L 返回最长行的长度

    例如:wc -l lee.txt 即 cat lee.txt | wc -l 扩展到 ls /bin | wc -l

  2. grep [选项] pattern [file] :强大,找到文中的匹配文本,可用正则表达式与通配符

    -c 计算找到‘搜索字符串’(即 pattern) 的次数

    -i 忽略大小写

    -n 输出行号

    -v 反向选择,打印不匹配的行

     

    -r 递归搜索

    --color=auto 将找到的关键词加上颜色显示

    例1:grep -nv "s" lee.txt :将lee.txt中不含s的行输出 且显示行号

    例2:grep -r "main()" . :在当前目录下递归搜索文件中包含main()的文件,

  3. 正则 ^ $ . [ ] { } - ? * + ( ) | \

   

第七次实验:

  1. cut [选项] [文件名] :将文本按列进行切分的小工具,可指定分割定界符。

    -b 字节为单位分割

    -c 以字符为单位分割

    -d 自定义分隔符,默认制表符

    -f 自定义字段

    --complement 抽取整个文本行,处理那些由-c和-f选项指定的文本

    例:cut -f 1,3 -d ' ' stu.txt 从stu.txt中取出第一列和第三列(1-3为第一到第三列)

    cut -f 1 -d ' ' stu.txt --complement 取出除了第一列的其他列

  2. paste [选项] [文件名] :与cut相反,添加到文件,而不是抽取文本列。它通过读取多个文件,然后把每个文件中的字段整合成单个文本流,输入到标准输出

    -s 将每个文件合并成行而不是按行粘贴

    -d 自定义分隔符,默认制表符

    例:paste stu1.txt str2.txt -d ':' 将两个文件内容按列拼接,指定分隔符为“:”

  3. tr [选项] SET1 SET2 :用来更改字符。可以看做一种基于字符的查找和替换操作。translate

    -d 删除匹配SET1的内容

    例:echo 'THIS IS 123 SHIYANLOU!' | tr 'A-Z' 'a-z' | tr -d '0-9' 将字符大写转小写,再将数字删除

 

posted @ 2017-08-30 17:15  number_5  阅读(353)  评论(0编辑  收藏  举报