linux   sed   seq awk 部分

  #include <iostream>
using namespace std;
 
int main()
{  
        int a[4]={1,2,3};
        cout<<2[a]<<endl;
return 0;
}

[[email protected] 20160731]$ echo "wz" | grep ‘.‘
wz
[[email protected] 20160731]$ echo "wz" | grep ‘w‘
wz
[[email protected] 20160731]$ echo "wz zx" | grep ‘wz.‘
wz zx
[[email protected] 20160731]$ echo "wz zx" | grep ‘.z‘
wz zx
[[email protected] 20160731]$ su
Password: 
[[email protected] 20160731]# echo "wz zx" | grep ‘.z‘
wz zx
[[email protected] 20160731]# echo "wz zx" | grep ‘.x‘
wz zx
[[email protected] 20160731]# echo "wz zx" | grep ‘w[abcz]‘
wz zx
[[email protected] 20160731]# echo "wz zx" | grep ‘w[0-9]‘
[[email protected] 20160731]# echo "wz zx" | grep ‘w[^0-9]‘
wz zx
[[email protected] 20160731]# echo "wz zx" | grep ‘w[[:digit:]]‘
[[email protected] 20160731]# echo "wz zx" | grep ‘w[[:alpha:]]‘
wz zx
[[email protected] 20160731]# echo "wz zx" | grep ‘.?‘
[[email protected] 20160731]# echo "wz zx" | grep ‘.+‘
[[email protected] 20160731]# echo "" | grep ‘.+‘
[[email protected] 20160731]# echo "a" | grep ‘.+‘
[[email protected] 20160731]# echo "a2" | grep ‘.[2-5]+‘
[[email protected] 20160731]# echo "a2" | grep ‘.[2-5]?‘
[[email protected] 20160731]# echo "a2" | grep ‘.{3,}‘
[[email protected] 20160731]# echo "a22" | grep ‘.{3,}‘
[[email protected] 20160731]# echo "a22" | grep ‘.{3}‘
[[email protected] 20160731]# echo "a22123" | grep ‘.{3}‘
[[email protected] 20160731]# 
[[email protected] 20160731]# echo "a22123" | grep ‘.{,3}‘
[[email protected] 20160731]# 
[[email protected] 20160731]# echo "aaa" | grep ‘a{1,3}‘
[[email protected] 20160731]# echo "aaa bbb" | grep ‘^b‘
[[email protected] 20160731]# echo "aaa bbb" | grep ‘^a‘
aaa bbb
[[email protected] 20160731]# echo "aaa bbb" | grep ‘b$‘
aaa bbb
[[email protected] 20160731]# echo "aaa bbb " | grep ‘b$‘
[[email protected] 20160731]# echo "aaa bbb " | grep ‘b\b‘
aaa bbb 
[[email protected] 20160731]# echo "aaa bbb " | grep ‘b\B‘
aaa bbb 
[[email protected] 20160731]# echo "aaa bbb " | grep ‘\B‘
aaa bbb 
[[email protected] 20160731]# echo "aaa bbb " | grep ‘\Ba‘
aaa bbb 
[[email protected] 20160731]# echo "xxaaaxx bbb " | grep ‘\Ba\B‘
xxaaaxx bbb 
[[email protected] 20160731]# echo "aaa bbb " | grep ‘\Ba\B‘
aaa bbb 
[[email protected] 20160731]# echo "ab121212 " | grep ‘12{3}‘
[[email protected] 20160731]# echo "ab121212222 " | grep ‘12{3}‘
[[email protected] 20160731]# echo "ab121212222 " | grep ‘(12){3}‘
[[email protected] 20160731]# echo "ab121212222()" | grep ‘\(\){3}‘
[[email protected] 20160731]# echo "ab121212222()" | grep ‘\(\)$‘
ab121212222()
[[email protected] 20160731]# echo "ab121212222()" | grep ‘\(\)$|(12){3}‘
[[email protected] 20160731]# 
[[email protected] 20160731]# echo "ab121212222()" | grep ‘\(\)$|(12){3}|^a‘
[[email protected] 20160731]# 
 190  vim file 
  191  grep ‘[0-9]{2,11}‘ file
  192  grep -E --color ‘[0-9]{2,11}‘ file
  193  grep -E --color ‘^[0-9]{2,11}$‘ file
  194  history 5
  匹配电话 1开头 第二位不为1 2 6
  全部是数字开头到结尾
[[email protected] 20160731]# grep -E --color ‘^1[345789][0-9]{2,11}$‘ file
[[email protected] 20160731]# grep -E [email protected]$‘ file
> history 5^C

匹配邮箱 字符数开头  标准符号结尾
[[email protected] 20160731]# grep -E --color ‘^[a-ZA-Z0-9_][email protected]$‘ file
[[email protected] 20160731]# grep  --color ‘^[a-ZA-Z0-9_][email protected]$‘ file
[[email protected] 20160731]# grep  --color ‘^[a-ZA-Z0-9_]\[email protected]$‘ file
匹配IP  3段重复 与一段结尾
[[email protected] 20160731]# grep  --color ‘([0-9]{1,3}.){3}[0-9]{1,3}‘ file
[[email protected] 20160731]# grep  --color ‘^([0-9]{1,3}\.){3}[0-9]{1,3}$‘ file
[[email protected] 20160731]# grep  --color ‘^\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}$‘ file
-E
扩展基准匹配  ()  |  {} + ? 特殊含义  字面意思需要转义
正则基准匹配
【字符类  次数限定 位置限定】

 6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟) 

 3 4 3 4 6 4 3 4 3 
 高度的复用性
 以(0,0)为心  边长 2 的 正方形4角加(-1,0) (1,0) (0,2)(0,-2)
 【sed】
 从文件中读一行就匹配处理
 到缓冲区 (别名 模式空间)
[[email protected] 20160731]# sed ‘/^c/s/^/\/\//‘ abc   
aaa
bbb
//ccc
ddd

[[email protected] 20160731]# sed ‘/c$/p‘ abc    查找  性质
aaa
bbb
ccc
ccc
ddd

[[email protected] 20160731]# cat abc
aaa
bbb
ccc
ddd

[[email protected]lhost 20160731]# sed -n ‘/c$/p‘ abc
ccc
[[email protected] 20160731]# sed -n ‘/^.*\/\//d‘ abc    不影响原文件
[[email protected] 20160731]# cat abc
aaa
bbb
//ccc
ddd

[[email protected] 20160731]# sed -i ‘/^.*\/\//d‘ abc   删除abc文件中注释行  -i选项
[[email protected] 20160731]# cat abc
aaa
bbb
ddd

[[email protected] 20160731]# sed -i ‘/ddd/s/ddd/ccc/g‘ abc   将ddd行替换为ccc
[[email protected] 20160731]# cat abc
aaa
bbb
ccc

[[email protected] 20160731]# 
注释 5到 10  行5,10 s/^/\/\//
[[email protected] 20160731]# sed   ‘/a\+/s/a/~a~/‘ abc
//~a~aa
//bbb
//ccc

[[email protected] 20160731]# sed   ‘/a\+/s/a/~a~/g‘ abc   加g选项就多次执行
//~a~~a~~a~
//bbb
//ccc

[[email protected] 20160731]# sed -n ‘3p‘ abc
//ccc
[[email protected] 20160731]# sed -n ‘1,3p‘ abc  打印第3行与前3行
//aaa
//bbb
//ccc
[[email protected] 20160731]# sed -n  ‘/aaa/,/ccc/p‘  abc等价于用标签性打印 
//aaa                                                
//bbb
//ccc
[[email protected] 20160731]# sed -n  ‘/aaa/,3p‘  abc      可以混用
//aaa
//bbb
//ccc
[[email protected] 20160731]# 以下进行3个例子
eg1
保持空间,工厂对产品或半成品保存的地方  
sed     模式空间         保持空间
工厂     流水线          库房
(1.默认情况下 sed不会使用保存空间,仅仅显示地运用某些命令时才会被使用)
(2.仅仅保存数据,带来意想不到的效果)
Gg H h

get  hold  大写全是追加 不刷新
n     会刷新 N 会更新一行
[[email protected] 20160731]# cat abc
//aaa
//bbb
//ccc

[[email protected] 20160731]# sed ‘G‘ abc   显示行加空行
//aaa

//bbb

//ccc

 
[[email protected] 20160731]# sed ‘/b$/G‘ abc   指定行 b结尾的行加空行
//aaa
//bbb

//ccc

[[email protected] 20160731]# tac abc         倒序读

//ccc
//bbb
//aaa
[[email protected] 20160731]# sed -ne ‘H;${x;s/\n/ /g;p}‘ abc 行列互换 分号;加多命令 H即hold意思
 //aaa //bbb //ccc 
[[email protected] 20160731]# seq  10
1
2
3
4
5
6
7
8
9
10
[[email protected] 20160731]# sed -e ‘/ddd/H‘  -e ‘$G‘  abc
//aaa
//bbb
//ccc

[[email protected] 20160731]# cat abc
//aaa
//bbb
//ccc

[[email protected] 20160731]# sed -e ‘/ddd/H‘  -e ‘$G‘  abc  没成功
//aaa
//bbb
//ccc
[[email protected] 20160731]# seq 100 | sed -ne ‘H;${x;s/\n/*/g;s/^*//;p}‘
1*2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17*18*19*20*21*22*23*24*25*26*27*28*29*30*31*32*33*34*35*36*37*38*39*40*41*42*43*44*45*46*47*48*49*50*51*52*53*54*55*56*57*58*59*60*61*62*63*64*65*66*67*68*69*70*71*72*73*74*75*76*77*78*79*80*81*82*83*84*85*86*87*88*89*90*91*92*93*94*95*96*97*98*99*100
[[email protected] 20160731]# seq 100 | sed -ne ‘H;${x;s/\n/+/g;s/^+//;p}‘ | bc
5050
[[email protected] 20160731]# sed -n ‘n;p‘ abc   奇数行
//bbb

[[email protected] 20160731]# sed -n ‘p;n‘ abc  偶数行 从0开始
//aaa
//ccc
[[email protected] 20160731]# awk ‘{print $2;}‘ abc
11
22
33

[[email protected] 20160731]# awk ‘{print $0;}‘ abc
//aaa    11
//bbb    22
//ccc    33

[[email protected] 20160731]#
时间: 2024-11-11 02:33:56

linux   sed   seq awk 部分的相关文章

Linux sed 和 awk的用法

sed用法: 原文链接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] 'command' 输入文本 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自

Linux sed和awk

sed strem editor  流编辑器 sed  编辑器是一行一行的处理文件内容的.正在处理的内容存放在模式空间(缓冲区)内,处理完成后按照选项的规定进行输出或文件的修改. sed主要用来自动编辑一个或多个文件:简化文件的反复操作:非交互式编译文件 语法: sed [options]  '[command]' [filename] options: -n 抑制自动(默认的)输出  读取下一个输入行,-n要读取的行号 -e 执行多个sed命令 -f 运行脚本 -i 编辑文件内容 -i.bak

linux sed,awk详解

sed命令:sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等.sed使用参数[[email protected] ~]# sed [-nefr] [动作]-n :使

linux sed和awk的区别

awkawk是一种程序语言,对文档资料的处理具有很强的功能.awk擅长从格式化报文或从一个大的文本文件中抽取数据.awk的命令格式为:awk [-F filed-separator] “commands” input-file(s)  awk将一行文字按分隔符(filed-separator)分为多个域,依次记为$ 1,$ 2 . . . $ n.$0代表所有域值.因此awk更适合于以域为单位来处理文件.sedsed 是一个精简的.非交互式的编辑器,它能执行与编辑vi相同的编辑任务.sed的命令

linux学习:sed与awk与tr用法整理

流编辑器:sedsed 's/pattern/replace_string/' file #从给定文本中的字符串利用正则表达式进行匹配并替换每一行中第一次符合样式的内容sed 's/text/replace/' file > newfile #替换每一行中第一次符合样式的内容并将替换结果重定向到新文件sed -i 's/test/replace/' file #参数-i使用替换每一行中第一次符合样式的内容结果应用于源文件sed 's/pattern/replace_string/g' file

Linux文本三剑客超详细教程---grep、sed、awk

awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理. 1.grep 1.1 什么是grep和egrep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红).grep全称是Global

linux sed&awk详解

sed sed为文本处理三剑客之一.本身就是一个管道命令,可以将文件进行增加,修改,删除,选取等操作. 格式:sed [-nrefi] [command] "文本字符串" 选项: -r: 支持扩展正则表达式: -n: 静默模式:(sed有个模式空间和保持空间,默认sed会将执行的结果保存到模式空间里面,而模式空间默认情况是输出在屏幕上,加了-n,则阻止将模式空间的内容输出到屏幕上) -f:/path/to/script_file:从指定的文件中读取脚本并运行 -e script1 -e

linux(5)--补充(管道| / 重定向&gt; / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html以此为例: cat test.sh test1.sh 2>/dev/null | grep -n 'echo' 此时若test.sh 不存在,报错信息不会输出到屏幕中,而是转入 /dev/null中,如

linux 四剑客 find 、grep、sed、awk整理

linux 四剑客 find .grep.sed.awk整理 find 主要是用于查找Linux 操作系统的某个文件.目录所在路径,查找出满足条件的文件或者目录的路径 find / -name *.rpm -type d -- ###/:表示是在根目录下进行查找 ###-type:查找的类型,d是目录,f是普通文件 find / -name "con*.log" -exec cp {} /tmp/ \; ####基于 find 查找 Linux 系统以.log 结尾,同时名称以 con