NO7 利用三剑客awk-grep-sed-head-tail等7种方法实践
·seq sequence #序列
·sed stream editor #(三剑客老二)流编辑器。实现对文件的增删改替换查。
-n #取消默认输出。sed -n '20,30'p ett.txt 这里 p 表示打印
一、sed命令:
d 删除当前模式空间所有的内容。
g 与s联合使用时,表示对当前行全局匹配替换。
p 打印匹配行。
s 常说的查找并替换,用一个字符串替换成另一个。
二、sed选项:
-e #允许多项编辑
-f #后面接sed脚本的文件名
-n #取消默认输出
-i #修改文件内容
·awk (三剑客老大)过滤,输出内容,自成一门语言。 NR:行号
特殊符号:
·= #linux里 一个=号是赋值的意思,俩个==号才是等于的意思
·有能力的人,给出三种以上的方法,才叫有方法!
问题十一:只查看ett.txt文件(100行)内第20到第30行的内容(企业常见面试题)。
解答:sequence==seq序列
方法一: (这方法很low)
head [-n] [文件名] :后面直接跟文件名,显示文件前十行。-n表示显示文件前n行。
tail [-nf] [文件名] :后面直接跟文件名,显示文件后十行。-n表示显示文件后n行。
[root@localhost /]# head -30 ett.txt|tail -11
20
21
22
23
24
25
26
27
28
29
30
方法二:(*必会)
·sed -n '20,30'p ett.txt #这个命令更有效,要记住!
-n #取消默认输出。
p #表示打印
[root@localhost /]# sed -n '20,30'p ett.txt (用引号‘’保险,规范)
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# sed -n '$'p ett.txt ($符号是结尾的意思)
100
方法三:锦上添花:
[root@localhost /]# awk '19<NR && NR<31' ett.txt (NR行号;&&并且,俩边同时成立)
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# awk '19<NR&&NR<31' ett.txt (&&俩边没空格也行)
20
21
22
23
24
25
26
27
28
29
30
方法四:锦上添花
[root@localhost /]# awk '{if(NR<31 && NR>19) printf $0"\n"}' ett.txt
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# awk 'NR==31' ett.txt (直接定在第31行)
31
方法五:
[root@localhost /]# grep 20 -A 10 ett.txt (匹配第20行,显示改行之后的10行)
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# grep 30 -B 10 ett.txt (匹配第30行,显示改行之前的10行)
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# grep 25 -C 5 ett.txt (匹配第25行,然后再显示改行前后各5行)
20
21
22
23
24
25
26
27
28
29
30
#Context control:
-A #除了显示匹配的一行之外,并显示该行之后的num行。
-B #除了显示匹配的一行之外,并显示该行之前的num行。
-C #除了显示匹配的一行之外,并显示该行之前后各num行。
此篇命令记录:
[root@localhost /]# seq 1 10
1
2
3
4
5
6
7
8
9
10
[root@localhost /]# seq 1 2 10
1
3
5
7
9
[root@localhost /]# seq 1 3 10
1
4
7
10
[root@localhost /]# seq 100 >ett.txt (这代表创建了一个有1-100,100行数字的文件)
[root@localhost /]# cat ett.txt
1
。。。(这里我手动省略98行)
100
[root@localhost /]# head -30 ett.txt|tail -11
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# sed -n '20,30'p ett.txt
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# awk '19<NR&&NR<31' ett.txt (&&俩边没空格也行)
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# awk '{if(NR<31 && NR>19) printf $0"\n"}' ett.txt
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# awk 'NR==31' ett.txt
31
[root@localhost /]# grep 20 -A 10 ett.txt (匹配第20行,显示改行之后的10行)
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# grep 30 -B 10 ett.txt (匹配第30行,显示改行之前的10行)
20
21
22
23
24
25
26
27
28
29
30
[root@localhost /]# grep 25 -C 5 ett.txt (匹配第25行,然后再显示改行前后各5行)
20
21
22
23
24
25
26
27
28
29
30
#Context control:
-A #除了显示匹配的一行之外,并显示该行之后的num行。
-B #除了显示匹配的一行之外,并显示该行之前的num行。
-C #除了显示匹配的一行之外,并显示该行之前后各num行。
NO7 利用三剑客awk-grep-sed-head-tail等7种方法实践的更多相关文章
- 利用matlab求图像均值和方差的几种方法
一.求均值 % 求一副灰度图像的均值 close all; clear; clc; i=imread('d:/lena.jpg'); %载入真彩色图像 i=rgb2gray(i); %转换为灰度图 i ...
- awk grep sed cut学习
awk学习网站 grep sed cut
- 利用JQuery实现全选和反选的几种方法
前面介绍了利用JavaScript实现全选功能,其中也有要注意的几点,现在讲解下在JQuery怎么实现全选和反选,下面提供了两种方法实现. 如图:要实现的效果是点击全选框全部选中,再点击全部不选中 方 ...
- 利用Python进行图片发送与接收的两种方法---包含客户端和服务器端代码
第一种方法 opencv.requests.flask 此方法比较耗费时间 600毫秒左右 客户端代码 #coding:utf-8 import cv2 import json import requ ...
- linux 三剑客命令(grep,sed ,awk)
grep 命令 :强大的文本’搜索’工具 1.grep -n 'word' file_name 在file_name文件中找到word所在的所有行并显示.-n 为显示行号. 2 ...
- awk,grep,sed文本格式化处理
一.awk取列 [root@web01 ~]# cat /etc/passwd|awk -F ':' '{print $1"\t\t"$7}' ###-F指定分隔符 root /b ...
- 打印第二列为oldboy的第一列内容(awk,grep,sed用法)
[root@goldtest ~]# cat ip.log 10.0.0.1 oldboy 10.0.0.2 oldgirl 10.0.0.4 tingting 10.0.0.4 oldboy old ...
- awk grep sed 的一些问题
条件 匹配 打印含关键字的行 ps aux | sort -k 4 -r | awk '$4 ~ /^[0-9]/ && $4>0 {print $4,$11}' z ...
- 如何在sed中使用变量,两种方法
第一 在sed条件中是不认识变量取值的 sed '/$x/d' test 所以要想它能够识别变量 sed "/$x/d/" test 方法简单就是把"单引号"变 ...
随机推荐
- LeetCode困难题(一)
题目一: 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序. 示例 ...
- 华为云WeLink 颠覆你对智能办公的想象
导读 华为云发现,与企业数字化关系最紧密的就是办公数字化,所以将WeLink放到华为云上可以作为一个抓手让企业更直观地感受到云端数字化,而且华为云的合作伙伴,也可以与WeLink建立联接,从而进整个企 ...
- Aho-Corasick (AC) 自动机
基础:AC自动机是建立在 trie 树和 kmp 基础之上的,为什么这么说,因为AC自动机是基于字典树的数据结构之上的,其次它是一个自动机,用到了 kmp 的失配数组的思想. 应用:在模式匹配的问题中 ...
- 如何编写.gitignore文件
为什么要有.gitignore文件 项目中经常会生成一些Git系统不需要追踪(track)的文件.典型的是在编译生成过程中 产生的文件或是编程器生成的临时备份文件.当然,你不追踪(track)这些文件 ...
- Linux centosVMware Apache 配置防盗链、访问控制Directory、访问控制FilesMatch
一.配置防盗链 通过限制referer来实现防盗链的功能 配置文件增加如下内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //改为如下 ...
- 聚合数据实名认证接口-java方法
只需要填入购买的APPKEY,然后直接调用方法JuheDemo.info(user_name, anchor_card);传入姓名和身份证号,根据获取的返回参数进行拆分,如res=1说明正确. //进 ...
- ‘A’ = N’A’ , will not kill index seek in sqlserver version above 2014 anymore
Thanks to The advisor show us that we can get different behavior when we use condition , ='20000' or ...
- Debug运行项目时报错,connected to the target VM, address: '127.0.0.1:50495', transport: 'socket'
Debug运行项目时报错,无法进入Debug,猜想出错原因可能是未正确关闭IDEA. 解决方法,先直接运行项目,然后停掉项目,再用Debug模式启动,问题解决.
- cmd进入任何一个文件夹的步骤?
cmd进入任何一个文件夹的步骤具体如下: 步骤如下: 1.点击左下角[开始],在搜索程序和文件中输入:cmd,进入cmd命令窗口: 2.进入到D盘,在cmd命令窗口输入:D: 3.进入D盘后,输入:c ...
- Laradock 下安装Beast扩展
laradock/php-fpm/Dockfile ########################################################################## ...