Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76172
  • 博文数量: 16
  • 博客积分: 31
  • 博客等级: 民兵
  • 技术积分: 187
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-19 19:58
个人简介

一步一个阶梯,向人类进化。

文章分类

全部博文(16)

文章存档

2018年(1)

2015年(3)

2014年(11)

2013年(1)

我的朋友

分类: LINUX

2018-12-05 23:50:08

文本处理类命令

现有txt文件如下 demo.txt:
hello 1 2 3
hi 789 9
分隔符为空格
  1. grep - 过滤文本
实例:

点击(此处)折叠或打开

  1. grep hello demo.txt // 输出第一行

  2. grep "i 7" demo.txt // 输出第二行
 2. awk - 高级过滤文本

点击(此处)折叠或打开

  1. awk -F " " '{if($2==1) print $0}' a.txt // 输出第二列为1的所有行,即第一行

  2. awk -F " " '{if($1=="hi") print $2}' a.txt // 首先找到第一列为"hi"的行,然后输出其第二列,即:789

  3. awk -F " "  '{if($2==1) print $0}' a.txt  > newfile.txt  // 输出第一行到newfile.txt

  4. awk -" " '{if(NF>3) print $0}' a.txt | head -n 1 // 过滤列数大于3的行,并输出满足条件的前一行

3.sed - 文本替换

点击(此处)折叠或打开

  1. sed 's/ /\t/g' a.txt // 会把所有的空格替换成tab,''内是sed执行的内容,s代表替换,第一个//中间的字符是待替换的字符,第二个//中的字符是需要替换成的字符,g代表全部替换

  2. sed  -i 's/ /\t/g' a.txt // 会把所有的空格替换成tab,并写入原文件。-i参数代表写入原文件,不带-i则只是打印出来,原文件不变。

阅读(6577) | 评论(0) | 转发(0) |
0

上一篇:面试 linux常用命令

下一篇:没有了

给主人留下些什么吧!~~