• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > 总结Linux中用于文本处理的awk、sed、grep命令用法

总结Linux中用于文本处理的awk、sed、grep命令用法

作者:sunxing007 字体:[增加 减小] 来源:互联网 时间:2017-05-12

sunxing007 通过本文向大家介绍了awk sed grep,linux sed awk,sed与awk,shell awk sed,awk和sed的区别等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

awk
基础概念
Awk把文件(或其他方式的输入流, 如重定向输入)看作一个记录集, 把每一行看作一条记录, 把每一行中以空格(或\t,或用户自己指定的分隔符)分割的字符串看作一个字段.  这似乎把文件记录看成数据库. 但是, awk仍然以行为单位逐行处理. 本例子以下面的文件(命名为s.txt)内容做演示:

变量

说明

$0

当前记录;

$1, $2, … $n

当前记录的字段

FILENAME

当前的文件名

FS

输入字段的分隔符, 可通过-F修改. 如: 先通过sed把空格替换为|,然后管道输送给awk:
sed 's/ /|/g' s.txt | awk -F '|' '/chinese/{print FILENAME, $1, $5}'

NF

当前记录的字段数

NR

当前记录编号

OFS

输出字段分隔符

ORS

输出记录分隔符

RS

记录分隔符, 默认为换行符


给一些例子来说明这些变量的用法:

sed
sed   '2,5d' file 显示文件file,除去2-5行,但行数超过文件实际行数时不会报错。
sed '/10[1-4]/d'     file 显示文件file,除去包含101-104的行。
sed '2,$d' file 显示文件,只显示第一行。sed '2,$!d' file则只显示除第一行外的其它行。
sed '/^ *$/d file 删除文件中的空行。
sed -n '/10[1-4]/p' file
只显示文件file中包含101-104的行。(n和p必须同时使用,否则只有p时显示全部文件并多显示一次找到的行)
sed -n '5p' file 只显示文件的第5行
sed 's/moding/moden/g' file 将moding替换为moden
sed -n 's/^west/north/p' file 将west开头的行替换为north并显示出来。
sed 's/[0-9][0-9][0-9]$/&.5/' file 将file文件中以3个数字结尾的行替换为原数字加".5",&代表搜索到的字符串。
sed 's/moding/\1en/g file 将mod做为模式1封装在括号里,然后替换。
sed 's/...$//' file 删除每一行的最后三个字符。
sed 's/^...//' file 删除每一行的头三个字符。
sed 's#moding#moden#g'   file将moding替换为moden,s后面的#代表搜索串和替换串之间的分界符。
sed -n '/101/,/105/p' file 显示从101的匹配行到105的匹配行。如果只找到101的匹配行,则从101的匹配行到文件末。
sed -n '2,/999/p' file 显示从第2行到匹配行。
sed'/101/,/105/s/$/  20050119/' file将从101的匹配行到105的匹配行的行末增加"       20050119"内容。
sed -e '1,3d' -e 's/moding/moden/g'file 先删除文件的1-3行,再进行替换。
sed -e '/^#/!d'         file 显示文件以#开头的行。
sed '/101/r newfile' file 在每个匹配行增加文件newfile的内容
sed '/101/w newfile'    file 把匹配行写入newfile。
sed '/101/a new text' file 在匹配行后增加一新行。
sed '/101/i' new text' file 在匹配行前增加一新行。
sed '/101/c new text' file 用新行替换匹配行。
sed 'y/abcd/ABCD/' file 将a、b、c、d分别替换为ABCD。
sed '5q' file 显示到第5行时退出。
sed '/101/{ n; s/moding/moden/g; }' file在文件中找到匹配行的后一行(n)再进行替换。
sed '/101/{ s/moding/moden/g; q; }' file在文件中找到第一个匹配行后进行替换后再退出。
sed -e '/101/{ h; d; }' -e '/104/{ G; }'file 在文件中找到与101匹配行后先存在一个缓存中,再放在与104匹配行后。
sed -e '/101/{ h; d; }' -e '/104/{ g; }'file 在文件中找到与101匹配行后先存在一个缓存中,再替代104的匹配行。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 总结Linux中用于文本处理的awk、sed、grep命令用法

相关文章

  • 2017-05-127款应用最广泛的Linux桌面环境 哪款最适合你
  • 2017-05-12详解Linux中的日志及用日志来排查错误的方法
  • 2017-05-12Linux系统中nmap网络扫描工具的命令用法详解
  • 2017-05-12Linux中的文件压缩命令tar与rar的用法总结
  • 2017-05-12Linux关键字后所跟数字的含义详解
  • 2017-05-12Linux硬盘满了造成的一个bug(ERR_CONNECTION_RESET )
  • 2017-05-12linux 打造man中文手册图解(man-pages-zh帮助页)
  • 2017-05-12linux下挂载VHD等虚拟磁盘文件的方法
  • 2017-05-12在Linux命令终端中查看和编辑曾执行过的命令
  • 2017-05-12Linux基金会官网公布最佳Linux发行版名单详解

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • Linux中Samba服务器的编译安装以及配置的宏的写法
    • Linux系统下wget命令的使用教程
    • 在Linux中安装是使用系统性能监控软件Nmon
    • 快速浏览Linux下基本的用户和用户组管理命令
    • Linux中的netstat命令使用教程
    • Linux系统中tr命令删除和替换文本字符的基本用法
    • Linux系统中与中文显示相关的一些编码设置方法
    • Linux的特殊权限SUID SGID和SBIT讲解
    • Linux下两款图片编辑软件Fotoxx和Macrofusion介绍
    • Linux系统的电脑上调整屏幕亮度的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有