[Command]Linux 文件格式化处理

来源:互联网 发布:上海升级网络 不靠谱 编辑:程序博客网 时间:2024/06/14 18:49

Linux 文件格式化处理

文本主要涉及:
1. grep
2. sed
3. awk
4. diff
5. 正则表达式

gerp

基本参数

-n : show line-v: show those which don't satisfied requirement.-i: ignore the upper or lower case

[] 表示匹配一个字符
在[]中^表示非。

grep -n '[a-z]t' filename[:lower:] lower case[:upper:] upper case[:digit:] digit number[:alnum:] number or char[:alpha:] char

去除空白行:

grep -v '^$' filename | grep -v '^#'

sed / gsed

-n: silient,只有处理过的行会显示-e: 在命令行模式下进行动作编辑-f: 执行filename内的sed动作-r: 支持扩展的正则表达式-i: 在文件内操作[n1,[,n2]] functionfunction:a: 添加一行(下一行)c: 替换d: 删除i: 插入,上一行p: 打印s: 替换 s/old/new/g

awk

基本变量

NF:每一行共有的字段NR: 当前处理第几行FS: 设定分隔符,默认为空格符

$1 表示第一个字段,用print来输出,如果需要输出非变量的话,要加上”。
awk默认用''表示操作的内容,支持基本的逻辑运算符。

diff

用于比较两个文件间区别

-b: 忽略一行当中仅有的多个空白-B:忽略空白行的区别-i:忽略大小写的区别
diff file1 file2

patch

补丁,用于将一个文件更新为新的文件。

diff -Naur oldFile newFile > test.patchpatch -pN < patch_file #更新patch -R -pN < patch_file # 还原

N表示目录的删减。在同一个目录下为0.

基本正则表达式

^: 行首$: 行末.:表示任意一个字符*:表示前面一个字符为0个或多个.*:  表示零个或多个字符{}:表示数量范围(注意转义)

扩展正则表达式

+:重复一个或以上的前一个字符?:重复0个或一个的前一个字符|: or(): 组()+: 多个组
阅读全文
0 0
原创粉丝点击