sed(查找替换) 与awk(提取字段)
通常: sed 处理列 awk处理行 比较方便
Sed是一个基本的查找替换程序 sed -i "s/^@//g" 文件 #原地操作原文件,进行替换
cat my.txt|sed s/a/A/ >n.txt (不指定列数,默认是包含a的第一列)将1.txt文件中包含a的第一列中的a替换为A,并将结果写入n.txt文件中。该语句也可以在shell脚本中使用
cat my.txt|sed s/a/A/2 >n.txt 指定第二列,将1.txt文件中包含a的第二列中的a替换为A,并将结果写入n.txt文件中。
cat './1.txt ' |sed s/a/A/g >n2.txt 将1.txt文件中的所有a替换为A,并将结果写入n2.txt文件中。该语句也可以在shell脚本中使用
ps -ef | grep tomcat|awk ' {print $1 "-" $2} ' 从标准输入中提取第一个、第二个字段
awk 用来从文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符,如:head -n 5 /etc/passwd|awk -F: '{print $1 , $2}'
sed: Sed是一个基本的查找替换程序。可以从标准输入(比如命令管道)读入文本,并将结果输出到标准输出(屏幕)。
该命令采用正则表达式(见参考)进行搜索。
不要和shell中的通配符相混淆。比如:将linuxfocus 替换为LinuxFocus :cat text.file | sed s/linuxfocus/LinuxFocus/ > newtext.file
sed s/a/A/ 从标准输入中读取文本,将文本中的a替换为A (默认是将含有a的第一列替换为A)
如果指定要替换的列数,则从含有要替换的字符对应的列中进行替换,如下:
sed s/a/A/2 从标准输入中读取文本,将文本中含有的a的第二列替换为A
sed s/a/A/3 从标准输入中读取文本,将文本中含有的a的第三列替换为A
如果想要替换所有的字符串,则使用sed s/a/A/g ,如下图:
awk 用来从文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。
cat file.txt | awk -F, '{print $1"," $3 }'这里我们使用,作为字段分割符,同时打印第一个和第三个字段。
如果该文件内容如下: Adam Bor, 34, IndiaKerry Miller, 22, USA,命令输出结果为:AdamBor, IndiaKerry Miller, USA
也可以使用cut命令,对每行数据进行分析,如下:
sed(查找替换) 与awk(提取字段)的更多相关文章
- NO8 find结合sed查找替换企业案例多方法精讲&命令总结!
·sed #替换 eg: sed 'sed 's#已有的内容#更改的内容#g' oldboy.txt s 代表替换,g代表全局,sg就是全局替换 ...
- 企业面试题-find结合sed查找替换
题:把/oldboy目录及其子目录下所有以扩展名.sh结尾的文件中包含oldboy的字符串全部替换成oldgirl 解答: 建立测试数据: [root@tan data]# mkdir /oldboy ...
- 脚本_使用awk提取linux主机参数
#!bin/bash#功能:使用awk提取Linux主机的参数信息,如内容剩余容量,根分区剩余容量,本机IP,本机能登录的用户个数,CPU负载.#作者:liusingbon#使用awk提取内存剩余容量 ...
- Shell基础(六):使用awk提取文本、awk处理条件、awk综合脚本应用、awk流程控制、awk扩展应用
一.使用awk提取文本 目标: 本案例要求使用awk工具完成下列过滤任务: 1> 练习awk工具的基本用法 2> 提取本机的IP地址.根分区使用率 3> 格式化输出/et ...
- Shell编程四剑客包括:find、sed、grep、awk
一.Shell编程四剑客之Find Find工具主要用于操作系统文件.目录的查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ...
- linux sed 批量替换多个文件中的字符
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldst ...
- [svc]find+xargs/sed&sed后向引用+awk多匹配符+过滤行绝招总结&&产生随机数
30天内的文件打包 find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz find,文件+超过7天+超过1M的+按日期为文 ...
- shell脚本学习(6)awk 编排字段
awk能取出文本字段重新编排 1 awk的用法 awk ‘program’ [file] 2 其中program 可以写成 ‘parrtern {action}’ pattern 或 actio ...
- vi、vim 查找替换
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
随机推荐
- DataTable 修改列名 删除列 调整列顺序
DataTable myDt =dt;//删除列myDt.Columns.Remove("minArea");myDt.Columns.Remove("maxArea&q ...
- ubuntu菜单面板丢了怎么找回
我的ubuntu菜单面板丢了. 我的ubuntu用的是gnome桌面环境,桌面环境分为三个区域: 1.菜单面板 (1)三个主菜单:应用程序,位置,系统. (2)快速启动区:菜单面板中间的部分称为快 ...
- C++ template学习一(函数模板和模板函数)
函数模板和模板函数(1)函数模板函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计.它的最大特点是把函数使用的数据类型作为参数.函数模板的声明形式为:templat ...
- C - 下沙小面的(2)
C – 下沙小面的(2)Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDes ...
- [非技术参考]C#基础:使用Thread创建线程(1)
Thread类可以创建和控制线程,Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数.下面我们用一个例子来解释怎样用Thread类 ...
- 关于XPath的基本语法
关于XPath基础语法 关于XPath基础语法 更详细的请看: XPath语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) ...
- 几年前无聊小游戏之作_WEB版本打泡泡
几年前写的小东西 主要是H5画布的操作,还有个C语言基于WIN SDK开发的版本 找不到代码了 找到了再分享 <!DOCTYPE html> <script src="ga ...
- SQL语句的MINUS,INTERSECT和UNION ALL
SQL语句中的三个关键字:MINUS(减去),INTERSECT(交集)和UNION ALL(并集); 关于集合的概念,中学都应该学过,就不多说了.这三个关键字主要是对数据库的查询结果进行操作,正如其 ...
- Github Blog 搭建手册
http://www.ilehao.com/blog/2012/11/11/github-blog-config/ http://www.freebuf.com/articles/web/25613. ...
- MFC 动态创建控件
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一 ...