今天看了正则表达式,命令很多,知识比较散。多复习。
正则表达式(Regular Exproession,RE)与文件格式化处理
正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理率行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以用来作为正则表达式的字符串处理之用。
基础正则表达式:
正则表达式字符(characters):
正则表达式的特殊字符与一般在命令行输入的命令的“通配符”并不相同。
sed工具:sed本事也是一个管道命令,可以分析standard input,并且sed还可以将数据进行替换、删除、新增、选取特定行等功能。常用作一整行的处理。
sed [参数] ‘动作’,-e直接在命令行模式上进行sed的动作编辑、-f直接将sed动作卸载一个文件内,-f filename则可以执行filename内的sed动作、-r使sed的动作支持为扩展表达式的语法(默认为基础正则表达式语法);动作说明:[n1,n2] function,n1和n2不一定会存在,一般为选择动作的行数。a新增,接字符串会在新的一行出现、c替换、d删除、i插入、p打印。
扩展正则表达式:grep默认支持基础正则表达式,grep -E支持扩展型正则表达式或使用命令egrep。
!和>在正则表达式中不是特殊字符,查找含有!和>的字行时 grep ‘[!>]’ filename
文件的格式化与相关处理:
格式化打印:printf ‘打印格式’ 实际内容,\a警告声音输出、\b退格键(backspace)、\f清除屏幕(from feed)、\n输出新的一行、\r即enter键、\t水平tab键、\v垂直tab键。
数据处理工具:awk ‘条件类型1{动作1} 条件类型2{动作2} ...’ filename,awk汉族哟啊是处理每一行的字段内的数据,一般默认的字段的分隔符为空格键或[tab]键。
文件比较工具:
diff:diff通常是用在用以文件(或软件)的新旧版本区别上。diff [参数] from-file to-file,from-file作为欲比较的文件名,to-file作为目的的比较文件名,-b忽略一行中空白的区别、-B忽略空白行的区别、-i忽略大小写区别。
patch:将旧文件升级为新文件(主要由diff创建patch的补丁来源文件),更新patch -pN < patch_file,还原patch -R -pN < patch_file,-p后面的N表示取消几层目录的意思、-R还原,新文件还原成旧文件。
文件打印准备:pr filename。