#includeusing namespace std; int main(){ int a[4]={1,2,3}; cout<<2[a]< history 5^C匹配邮箱 字符数开头 标准符号结尾[root@localhost 20160731]# grep -E --color '^[a-ZA-Z0-9_]+@163.com$' file[root@localhost 20160731]# grep --color '^[a-ZA-Z0-9_]+@163.com$' file[root@localhost 20160731]# grep --color '^[a-ZA-Z0-9_]\+@163.com$' file匹配IP 3段重复 与一段结尾[root@localhost 20160731]# grep --color '([0-9]{1,3}.){3}[0-9]{1,3}' file[root@localhost 20160731]# grep --color '^([0-9]{1,3}\.){3}[0-9]{1,3}$' file[root@localhost 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】 从文件中读一行就匹配处理 到缓冲区 (别名 模式空间)[root@localhost 20160731]# sed '/^c/s/^/\/\//' abc aaabbb//cccddd[root@localhost 20160731]# sed '/c$/p' abc 查找 性质aaabbbccccccddd[root@localhost 20160731]# cat abcaaabbbcccddd[root@localhost 20160731]# sed -n '/c$/p' abcccc[root@localhost 20160731]# sed -n '/^.*\/\//d' abc 不影响原文件[root@localhost 20160731]# cat abcaaabbb//cccddd[root@localhost 20160731]# sed -i '/^.*\/\//d' abc 删除abc文件中注释行 -i选项[root@localhost 20160731]# cat abcaaabbbddd[root@localhost 20160731]# sed -i '/ddd/s/ddd/ccc/g' abc 将ddd行替换为ccc[root@localhost 20160731]# cat abcaaabbbccc[root@localhost 20160731]# 注释 5到 10 行5,10 s/^/\/\//[root@localhost 20160731]# sed '/a\+/s/a/~a~/' abc//~a~aa//bbb//ccc[root@localhost 20160731]# sed '/a\+/s/a/~a~/g' abc 加g选项就多次执行//~a~~a~~a~//bbb//ccc[root@localhost 20160731]# sed -n '3p' abc//ccc[root@localhost 20160731]# sed -n '1,3p' abc 打印第3行与前3行//aaa//bbb//ccc[root@localhost 20160731]# sed -n '/aaa/,/ccc/p' abc等价于用标签性打印 //aaa //bbb//ccc[root@localhost 20160731]# sed -n '/aaa/,3p' abc 可以混用//aaa//bbb//ccc[root@localhost 20160731]# 以下进行3个例子eg1保持空间,工厂对产品或半成品保存的地方 sed 模式空间 保持空间工厂 流水线 库房(1.默认情况下 sed不会使用保存空间,仅仅显示地运用某些命令时才会被使用)(2.仅仅保存数据,带来意想不到的效果)Gg H hget hold 大写全是追加 不刷新n 会刷新 N 会更新一行[root@localhost 20160731]# cat abc//aaa//bbb//ccc[root@localhost 20160731]# sed 'G' abc 显示行加空行//aaa//bbb//ccc [root@localhost 20160731]# sed '/b$/G' abc 指定行 b结尾的行加空行//aaa//bbb//ccc[root@localhost 20160731]# tac abc 倒序读//ccc//bbb//aaa[root@localhost 20160731]# sed -ne 'H;${x;s/\n/ /g;p}' abc 行列互换 分号;加多命令 H即hold意思 //aaa //bbb //ccc [root@localhost 20160731]# seq 1012345678910[root@localhost 20160731]# sed -e '/ddd/H' -e '$G' abc//aaa//bbb//ccc[root@localhost 20160731]# cat abc//aaa//bbb//ccc[root@localhost 20160731]# sed -e '/ddd/H' -e '$G' abc 没成功//aaa//bbb//ccc[root@localhost 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[root@localhost 20160731]# seq 100 | sed -ne 'H;${x;s/\n/+/g;s/^+//;p}' | bc5050[root@localhost 20160731]# sed -n 'n;p' abc 奇数行//bbb[root@localhost 20160731]# sed -n 'p;n' abc 偶数行 从0开始//aaa//ccc[root@localhost 20160731]# awk '{print $2;}' abc112233[root@localhost 20160731]# awk '{print $0;}' abc//aaa 11//bbb 22//ccc 33[root@localhost 20160731]#