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 ...
随机推荐
- [转]oracle误删数据的恢复
与数据打交道,免不了会误删一些数据,之后还commit了,连回滚的机会都没了,而更糟糕的是你又没有备份,这种事终于在今天被我不幸的遇上了... 唯一一点值得欣慰的是,我删除表记录的时候,时间不长,一天 ...
- oracle 使用 decode函数 或 case when 实现行转列
----创建测试表 create table student_score( name varchar2(20), subject varchar2(20), score number(4,1) ); ...
- SQL Server JDBC驱动中sqljdbc和sqljdbc4区别
为了支持向后兼容以及可能的升级方案,JDBC Driver 2.0 在每个安装包中都包括 2 个 JAR 类库:sqljdbc.jar 和 sqljdbc4.jar. qljdbc.jar 类库提供对 ...
- MySQL5.7.11(ZIP)安装
1.环境变量-系统变量: Path添加:;D:\worksoftware\mysql-5.7.11\bin 2.配置更改:my-default.ini,注意是ANSI编码 添加 #(mysql所在目录 ...
- 一周学会Mootools 1.4中文教程:(1)Dom选择器
利器: 君欲善其事须先利其器,好吧因为我们的时间比较紧迫,只有六天而已,那么六天的时间用死记硬背的方式学会Mt犹如天方夜谭,因此我们需要借鉴一下Editplus的素材栏帮我们记忆就好了,当我们需要用到 ...
- codeforces 633G. Yash And Trees dfs序+线段树+bitset
题目链接 G. Yash And Trees time limit per test 4 seconds memory limit per test 512 megabytes input stand ...
- LaTeX技巧如何拆分源文件并且分别编译
当处理很大的文档时,经常将文件分成若干个部分分别进行编译,这时我们可以使用LATEX所提供的命令 \input \include \includeonly \input{texfile} 文件名只需指 ...
- 14-C语言宏
目录: 一.宏定义 二.#x,##x使用和预定义宏 三.宏的高级使用(条件编译) 回到顶部 一.宏定义 1 宏是常用的预处理功能之一,是在编译之前进行宏替换,即将宏名替换成所定义的宏体. 2 优点:可 ...
- windows server system32下常见快捷指令
win+R 命令行窗口 cmd dos命令窗口 mstsc 远程登录输入窗口 calc 快速打卡计算器 control 打开控制面板 eve ...
- 帝国cms中上一篇与下一篇个性化灵动标签调出
这里的上下篇是用灵动标签制作,可以更为个性化 下一篇 <a href="<?phpecho $bqsr[titleurl];$next='true';?>"> ...