首页 > 系统相关 >Linux三剑客

Linux三剑客

时间:2023-03-06 10:33:30浏览次数:31  
标签:定界 匹配 filename sed Linux test grep 三剑客

1.awk(格式化生成器&列值输出)
1.1 语法结构:awk [option] 'pattern{action}' filename
awk -F|-v '处理范围{输出方式}' 文件名

1.2 option参数
	-F:指明输入字段的分隔符 
	-v:自定义变量
	
1.3 pattern(用于定界)
	:处理文件的所有行
	/pattern/:正则匹配的行 awk -F : '/xxx/{print $0}' filename
	NF(每行字段数量) NR(文件的行号) $1:第一列 $NF:最后一列 $NR:行号
	
	
1.4 action
	print&printf
	expression
	awk -F : '$3>10{print $1}' filename
	
2.sed(流编辑器&对行数据处理)
2.1 语法结构:sed [option] 'script'  filename

2.2 option参数
    -n:指定行
    -e:可指定多个script
    -f:从指定文件中读取编辑脚本
    -r:支持正则扩展
    -i:直接编辑源文件
    -i.bak:备份文件并原处编辑
    
2.3 script参数(定界&操作)
2.3.1 定界(确定操作的数据界限)
	:全文编辑
	n:指定第n行
	n,m: 从第n到m行(闭区间)
	n, +s:从第n开始包含后面的s行
	1~2:匹配奇数行
	2~2:匹配偶数行

2.3.2 操作
d:删除整行 放置到定界后 sed '/sbin/d' filename
p:显示内容,放置到定界后 sed -n 2p filename
a:在匹配行追加内容 sed '1a xxx\nsss' filename
i:在匹配行前增加内容 sed '1i xxx' filename
c:替换匹配行内容 sed 'test/c tt' filename
w:保存内容 sed -n '2p/w /save_dir' filename
!:取反
s:替换内容 sed -i 's/aaa/bbb/g' filename


3.grep(查找&支持正则且均需要转义)

3.1 grep(标准正则匹配) 

3.2 egrep(等价于grep -E)

3.3 fgrep(不用正则,搜索快,系统资源使用率低)

-i:忽略大小写
--color:高亮匹配的字符串
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串
-E:使用扩展的正则表达式
-e:实现多个选项间的or关系
-n:显示匹配行号
-c:统计匹配的行数

3.4实例
grep -n test /etc/test  # 在特定文本内查找test内容并显示行号
grep ^test /etc/test  # 在特定文本内查找test开头内容
grep -nv test /etc/test  # 在特定文本内查找不是test开头内容并显示行号

标签:定界,匹配,filename,sed,Linux,test,grep,三剑客
From: https://www.cnblogs.com/fsh19991001/p/17182873.html

相关文章

  • 在linux服务器/系统上编译运行VTM
    在linux服务器运行VTM本文介绍的是如何将windows系统的已配置完成的项目放在linux系统上运行我使用的是featurize服务器做的,如果需要直接在linux系统或虚拟机上做的话,步......
  • Linux & 标准C语言学习 <DAY1>
    Linux系统简单介绍:  BCPL->NewB->C->UNIX->Minix->Linux->gcc  美国贝尔实验室1968  Linux管理硬盘的能力非常强,所以只有一个磁盘分区  cd路径名......
  • Linux & 标准C语言学习 <DAY3>
    C语言简介:  BCPL->NewB->C->UNIX->Minix->Linux->gcc  C语言诞生于1971~1973年,美国贝尔实验室,肯.汤普逊和丹尼斯.里奇  C语言是专门为了编写操作系统而诞......
  • Linux & 标准C语言学习 <DAY2>
    vim文本编辑器:  可以直接在终端下采用纯键盘操作的一款文本编辑器,号称编辑器之神,可以二次升级、可以扩展  基础用法:    1、进入vim:      ......
  • Linux & 标准C语言学习 <DAY5>
    一、if分支语句  if(表达式) //单分支语句  {     //表达式的值为真,则执行此处代码  }  if(表达式) //双分支语句  {   ......
  • Linux & 标准C语言学习 <DAY4>
    一、数据类型  为什么要对数据进行分类    1、现实中的数据就是自带类别属性的    2、对数据进行分类可以节约内存存储空间、提高运行速度  ......
  • Linux & 标准C语言学习 <DAY6>
    一、数组  什么是数组:变量的组合,是一种批量定义相同类型变量的方式  定义: 类型名数组名[数量];      intarr[5];      注意:数组......
  • linux 启动oracle
    1.切换oracle用户su-oracle2.查看oracle是否启动ps-ef|grepora_3.启动和关闭oraclesqlplus/assysdba--进入sqlplus界面SQL>startup--启动数据库实例SQ......
  • linux 常用的150 个命令汇总
    1.线上查询及帮助manhelp2.文件和目录操作的命令ls cd find mkdir mv pwd renamerm rmdir touch tree basename dirname chattr lsattr file md5sum3.查看文件......
  • Linux常用命令
    Linux常用命令下面是一些常用的Linux命令及其功能的简要说明:文件和目录操作ls列出当前目录下的文件和子目录。lscd切换当前工作目录到指定的目录。cd[目录路径]......