Linux文本操作三大利器总结:sed、awk、grep
grep:(去除一行中需要的信息,同类与cut)
grep全称是Global Regular Expression Print
#常规用法
# grep -n root /etc/passwd
:root:x:::root:/root:/bin/bash
:operator:x:::operator:/root:/sbin/nologin #正则表达式用法
[root@www ~]# grep -n '[^g]oo' regular_express.txt
:apple is my favorite food.
:Football game is not use feet only.
:google is the best tools for search keyword.
:goooooogle yes!
cut:
[root@localhost ~]# cat /etc/passwd
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spool/lpd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
shutdown:x:::shutdown:/sbin:/sbin/shutdown
halt:x:::halt:/sbin:/sbin/halt
mail:x:::mail:/var/spool/mail:/sbin/nologin
operator:x:::operator:/root:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
............................
---------------------------------------------------------
[root@localhost ~]# cat /etc/passwd | cut -d ':' -f ,
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
sed:(对行做处理)
[root@localhost ruby] # sed '1,2d' ab #删除第一行到第二行 [root@localhost ruby] # sed -n '1,2p' ab #显示第一行到第二行 [root@localhost ruby] # sed -n '/ruby/p' ab #查询包括关键字ruby所在所有行
awk:(将一行分为多个字段做处理)(重点)
awk [-F field-separator] 'commands' input-file(s)
其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。
在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。
#=========================================== [root@www ~]# last -n 5 <==仅取出前五行
root pts/1 192.168.1.100 Tue Feb 10 11:21 still logged in
root pts/1 192.168.1.100 Tue Feb 10 00:46 - 02:28 (01:41)
root pts/1 192.168.1.100 Mon Feb 9 11:41 - 18:30 (06:48)
dmtsai pts/1 192.168.1.100 Mon Feb 9 11:41 - 11:41 (00:00)
root tty1 Fri Sep 5 14:09 - 14:10 (00:01) #last -n 5 | awk '{print $1}' #取出第一个字段
root
root
root
dmtsai
root
#$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。 #===========================================
[chen@localhost scripts]$ cat /etc/passwd | head
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin #cat /etc/passwd |awk -F ':' '{print $1}' #-F 指定分隔符为 :
root
daemon
bin
sys #cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' #显示第1、7个字段
root /bin/bash
daemon /bin/sh
bin /bin/sh
sys /bin/sh #搜索/etc/passwd有root关键字的所有行,并显示对应的shell
# awk -F: '/root/{print $7}' /etc/passwd
/bin/bash
其实awk可以像grep一样的去匹配第一行,就像这样: 查找某个字符
1
2
3
4
5
|
$ awk '/LISTEN/' netstat .txt tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN tcp 0 0 :::22 :::* LISTEN |
取反,显示没有LISTEN的行:
awk
'!/WAIT/'
netstat
.txt
df
Linux文本操作三大利器总结:sed、awk、grep的更多相关文章
- awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一
awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...
- linux文本操作界面 vi面板如何复制一行
linux文本操作界面 vi面板如何复制一行 1)把光标移动到要复制的行上2)按yy3)把光标移动到要复制的位置4)按p 在vi里如何复制一行中间的几个字符?如果你要从光标处开始复制 4 个字符,则先 ...
- 【转帖】vim/sed/awk/grep等文件批处理总结
vim/sed/awk/grep等文件批处理总结 https://www.cnblogs.com/cangqiongbingchen/p/9760544.html Vim相关操作 1.基础 * 和 # ...
- 1.Sed | Awk | Grep | Find
1.Sed | Awk | Grep | Find 可以参考的文档链接 CentOS7 查看 当前机器 已经启动的端口的Shell命令: netstat -lntup | awk -F' ' {'pr ...
- linux下的文本处理命令sed&awk&grep
Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破 ...
- sed & awk & grep 专题( 鸟哥 )
grep, sed 与 awk 相当有用 ! gerp 查找, sed 编辑, awk 根据内容分析并处理. awk(关键字:分析&处理) 一行一行的分析处理 awk '条件类型1{动作1}条 ...
- sed & awk & grep 专题
转载自:http://www.cnblogs.com/moveofgod/p/3540575.html grep, sed 与 awk 相当有用 ! gerp 查找, sed 编辑, awk 根据内容 ...
- Linux下sed,awk,grep,cut,find学习笔记
awk awk是一种程序语言,对文档资料的处理具有很强的功能.awk擅长从格式化报文或从一个大的文本文件中抽取数据. awk的命令格式为: awk [-F filed-separator] “comm ...
- linux 文本操作
sed -i 直接修改 sed 是负责插入替换删除字符串操作. sed -n '/11/p' 11.txt |sed 's/11/33333/g' 查找11并替换11位3333 sed 's/1 ...
随机推荐
- AOJ 0525 穷举
题意:有一个烤饼器可以烤r行c列的煎饼,煎饼可以正面朝上(用1表示)也可以背面朝上(用0表示).一次可将同一行或同一列的煎饼全部翻转.现在需要把尽可能多的煎饼翻成正面朝上,问最多能使多少煎饼正面朝上? ...
- 嵌套fragment时必须要重写 onDetach()
/** * 嵌套fragment时必须要重写 onDetach()如下 */ @Override public void onDetach() { super.onDetach(); ...
- python用paramiko将执行的结果存入excel表格
一.paramiko 利用paramiko可以远程控制服务器,上传和下载文件. 1.paramiko密码登录方式: #!/usr/bin/env python #coding:utf-8import ...
- Solr和ES对比
Solr与ES(ElasticSearch)对比 搜索引擎选择: Elasticsearch与Solr 搜索引擎选型调研文档 Elasticsearch简介* Elasticsearch是一个实时的分 ...
- MYSql查詢一段時間記錄
24小时内记录(即86400秒) $sql="SELECT video_id,count(id)as n FROM `rec_down` WHERE UNIX_TIMESTAMP(NOW() ...
- js标题文字向上滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- Demo_塔防(自动生成怪物,导航,炮塔攻击,怪物掉血死忙)
using UnityEngine; using System.Collections; public struct WaveMsg { //该波次生成的怪物 public GameObject mo ...
- 字体图标 icon font
Icon font icon font 指的是用字体文件代替图片文件,来展示图标.特殊字体等元素的方法. 应用场景: iconfont的优缺点 大小能够自由地变化 颜色能够自由地改动 加入阴影效果 * ...
- 检测网络变化(wifi、2g、3g、4g)
检测网络变化(wifi.2g.3g.4g) 1.注册广播"android.net.conn.CONNECTIVITY_CHANGE"和"android.net.wifi. ...
- 不用jquery等框架实现ajax无刷新登录
<script type="text/javascript"> window.onload = function () { document.getElementByI ...