Linux学习—— find、grep、sed、awk

getconf LONG_BIT  查询当前平台是?位机器

 

先记录一下几个预定义变量:

$#:命令行中变量的个数

$*:所有变量的内容

$?:上一条指令执行后,返回的状态

$0:当前执行的进程/程序名

!$:上一个命令的最后一个参数  

$$:当前进程号

find /sbin -name "test"  | xargs ls -l  

 

 

grep主要用于查找

sed主要用于编辑和修改

awk主要用于对内容进行分析并做一些处理(类似SQL指令)

 

grep用于搜索文件中对应的内容,显示内容或文件信息,主要的参数有以下几类:

-c : 只输出匹配的行
-I : 不区分大小写
-h : 查询多文件时不显示文件名
-l : 查询多文件时, 只输出包含匹配字符的文件名
-n : 显示匹配的行号及行
-v : 显示不包含匹配文本的所有行  

 

sed在编辑上,具有重定向的功能,可以追加到内容中的任意位置,主要参数有:

基本工作方式: sed [基本方式] ‘ ’ [动作] ‘  [输入文本]
-n : 安静模式

-e : 多重编辑 

-f : 首先将 sed的动作写在一个档案内, 然后通过 sed -f scriptfile 就可以直接执行 scriptfile 内的sed动作

-i : 直接编辑, 这回就是真的改变文件中的内容了, 别的都只是改变显示。


动作:
a 追加

c  取代, c 后面的字符串, 这些字符串可以取代 n1,n2之间的行

d  删除

i   插入 

p  打印

 

awk

awk兼具了sed和grep两者的优势,在查找和修改文件上功能强大。

awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

一行一行的分析处理 awk '条件类型1{动作1}条件类型2{动作2}' filename, awk处理一行当中分成数个"字段"(区域), 默认的分隔符是空格键。


cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' 显示/etc/passwd下以:分隔的第1列和7列。
awk -F: '/root/' /etc/passwd 搜索在passwd里面的包含root关键字的所有行。
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd 显示/etc/passwd下的所有账户,

以BEGIN   END为限,处理内部逻辑请求,

操作特点类似于SQL。

 

转载于:https://www.cnblogs.com/Blog-c/p/7565410.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值