xpleng的个人空间 https://blog.eetop.cn/554165 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

linux shell常用文本文件处理命令

已有 6456 次阅读| 2012-2-14 16:23 |个人分类:Linux应用

1、grep
       功能说明:查找文件里符合条件的字符串。

        参数
1) -A NUM,–after-context=NUM
        除了列出符合行之外,并且列出後NUM行。
 2)-B NUM,–before-context=NUM
         与 -A NUM 相对,但这此参数是显示除符合行之外并显示在它之前的NUM行。
3)-C [NUM], -NUM, –context[=NUM]
          列出符合行之外并列出上下各NUM行,预设值是2。
4)-c, –count
          不显示符合样式行,只显示符合的总行数。
           若再加上-v,–invert-match,参数显示不符合的总行数。
5)--w, –word-regexp
         将搜寻样式视为一个字去搜寻,完全符合该”字”的行才会被列出。
6)-i, –ignore-case
           忽略大小写,包含要搜寻的样式及被搜寻的档案。
7)-n, –line-number
           在显示行前,标上行号。
8)-v, –invert-match
          显示除搜寻样式行之外的全部。

2、egrep
egrep 是grep的扩展,使用egrep的主要好处是其在grep提供的正则表达式元字符集的基础上增加了更多的元字符。不过,egrep 不支持grep 的\(\)标记匹配字符和\{\}重复的功能。
下表给出了egrep新添的正则表达式元字符

元字符 功能 示例 匹配对象
+ 匹配1个或多个前一字符 ‘[a-z]+ove’ 匹配跟在一或多个小写字母后面的ove。将找出move,love等
? 匹配0个或1个前一字符 ‘lo?ve’ 匹配后面跟一个或不跟字母o的l.将找到love或lve
a|b 匹配a或b ‘love|hate’ 匹配love和hate这两个表达式之一
() 字符组 ‘love(able|ly)(ov)+’ 匹配loveable或lovely加上ov的一次或多次出现

3、tr
tr用来从标准输入中通过替换或删除操作进行字符转换。
特别要注意一点:tr 只能进行字符的替换、缩减和删除,不能用来替换字符串。

tr命令格式为:
tr -c -d -s["string1_to_translate_from"]["string2_to_translate_to"] file
这里:
  -c  :用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
  -d  :删除字符串1中所有输入字符。
  -s  :删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
  file  :是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。

4、awk - print
awk '{print $1,$2,$NF;}'  file  -------打印指定文件中的 第一列,第二列和最后一列(因为awk默认按空格分割 即:打印每行的第一个,第二个和最后一个单词)。
Awk包含许多内建的变量,对于每行的记录, Awk 默认按照空格进行分割,并将分隔后的值存入对应的 $n 变量中。如果一行还有 4 个单词,将被分别存储进 $1 $2 $3 $4 中,其中 $0 代表整行。 NF 也是一个内建的变量,代表该行中分割后的变量数。其中 NF必须是大写才是该行最后一个单词。
当然,Awk也可按其它方式进行分割,具体命令如下:
awk -F '分割符号' '{print $n}'。
awk可以使用if,其中if的语法和c语言一样。实例:
     awk ‘{ if ($1 > 10 && $3~/abc/) { print $4} }'

5、sort
语  法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
其中,
         -u 输出行中去除重复行
         -n 以数值来排序
可参考:http://roclinux.cn/?p=1350

6、less
-S: 完整行显示
-N: 显示行号

7、sed
1)工具sedstream editor,流编辑器)是一个批处理(非交互式)编辑器。它常被用做管道中的过滤器。
2)语法:
          a. sed [-n]    程序           待处理文件
          b. sed [-n] -f 程序文件 待处理文件
    当使用-n选项时,sed仅仅在标准输出上输出特定的行,例如被pprint)选定的行。不带-n选项sed将输出所有的行。
    “程序”是一些指令。


点赞

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 10

    获赞
  • 6

    评论
  • 536

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 20:32 , Processed in 0.015905 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部