正则表达式与通配

先来点shell script的初步:

shell 脚本使用#! 开头,后跟解释器的路径

给脚本文件赋予可执行属性: chmod u+x test.sh

执行shell 脚本:./[脚本名]

或者直接: bash 脚本

ls -l /etc/sh*命令 选项  

参数使用;可以在同一行写多条语句


edemon@linux:~$ cat tt
#!/bin/bash
echo "the time is "
date
echo here is :
who
edemon@linux:~$ bash tt
the time is
2016年 04月 29日 星期五 08:58:57 CST
here is :
edemon   tty7         2016-04-29 16:44 (:0)
edemon@linux:~$ chmod u+x tt
edemon@linux:~$ ./tt
the time is
2016年 04月 29日 星期五 08:59:30 CST

#它和编译生成的二进制文件不同:

edemon@linux:~$ gcc t.c -o exec
edemon@linux:~$ ./exec
hello!
edemon@linux:~$ ls -l |grep exec
-rwxrwxr-x 1 edemon edemon     8592 4月  29 09:01 exec
edemon@linux:~$ cat exec
ELF>0@@�@8    @@@@@@��88@8@@@�� ``(0    #乱码
元字符:描述字符的字符 正则表达式regular expression (RE,正则表达式) 用于文本操作和字符串的操作,用于数据过滤的操作。 几个重要的元字符: * 重复前面的字符0次或者多次 . 匹配任意字符 ^ 匹配行首,或者后面字符的非 $ 匹配行尾 [] 匹配字符集和 \ 转义字符 \<\> 精确匹配 \<n\> 精确匹配前面字符出现n次 \<n,\> 精确匹配前面的字符至少出现n次 \<n,m> 精确匹配前面的字符出现n~m次 例子: ^abs 匹配abs开头的行   vs* 这些字符串均匹配它:vss,vs,vssss cv$ 匹配行尾是cv的所有的行 ^$ 匹配所有的空行 ^.$ 匹配一个字符的行 [0123456789] [0-9] 上面两个表达式的意义是一样的,匹配任意一个0~9的阿拉伯数字 [^3-8] 不再3~8内的数字 [A-Za-z][A-Za-z]* 匹配任意一个英文单词(非空) cb\<3\>a cbbba cb\<3,\>a cbbbbba,cbbba,cb\<3,5\>a b可以重复3~5次 [a-z] \<3\> 精确匹配3个小写字符 通配中的元字符和正则表达式中的元字符的含义不是完全一样的。比如*在正则表达式中的含义是前面字符的0个或者多个重复,在通配中是任意位置的任意字符; ^在正则表达式中是行首匹配,在通配中是取反。 通配例子: edemon@linux:~$ ls *.tex texmaker.tex edemon@linux:~$ ls my*.doc    mycode2.doc mycode.doc edemon@linux:~$ ls mycode?.doc mycode2.doc {}表达匹配{}内的所有的选项,即“条件或”的关系: edemon@linux:~$ ls {tex,.java} texmaker.tex t.java

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...