linux基础之文本处理工具
diff
diff 命令用于比较两个文件的内容 , 以了解其区别。它还可用于创建补丁文件。补丁文件用于在企业环境的多台计算机之间对相似文件进行更改
[[email protected] ~]# diff file file1 file2 #####比较两个文件的不同
[[email protected] ~]# diff -c file file1 #####显示文件不同的上下行
[[email protected] ~]# diff -u file file1 ####使用统一的输出格式,对生成补丁文件很有作用
[[email protected] ~]# diff -u file file1 > file.path ####生成补丁文件
[[email protected] ~]# yum install patch -y #####安装补丁程序
[[email protected] ~]# patch file1 file.path ####用补丁文件为文件打补丁
[[email protected] ~]# patch -b file1 file.path ####用补丁文件为文件打补丁并将原始文件生成为.orig
####################################################################
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.
[[email protected] ~]# grep test passwd -i ####忽略大小写
[[email protected] ~]# grep test passwd
####精确过滤
[[email protected] ~]# grep test passwd -v ###反向不包含模式的行
[[email protected] ~]# grep test passwd -n ####返回行的行号
[[email protected] ~]# grep test passwd -c ###统计行的行号
[[email protected] ~]# grep -E "test|root" passwd ###过滤多个关键字
[[email protected] ~]# grep -E "^test|root$" passwd ###^关键字,以关键字开头 ,关键字$ ,以关键字结尾
###在目录中查找含有关键字的文件
######################################################################
Cut 命令cut 用于 “ 剪切 ” 文件中的文本字段或列并将其显示到标准输出
#### -d 用来指定分隔符
### -f 每行提取的字段
####如何把ifconfig的结果中的ip地址过滤出来
##############################################################
##sort
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
#### -n 按数字而非字符排列
#### -r 是降序排列
#### -u 去除重复的
################## ##########uniq
#### -d 显示重复的行
####-u 显示唯一行
#### -c 统计每行显示的次数#### -t 指定分隔符 -k 指定字段
#######如何显示内存前五的进程PID
############################################################# tr用于字符的转换,将前面形式的字符转化为后面形式的的
##################################################################
sed 命令是流编辑器 , 用于对文本数据流执行编辑。假定要处理一个文件名 , sed 将对文件中的所有行执行搜索和替换 , 以将修改后的数据发送到标准输出 ; 即 , 其实际上并不修改现有文件。与 grep 一样 , sed 通常在管道中使
用 由于 sed 命令通常包含可以解释为 shell 元字符的字符 ,因此请按下面示例所示引用 sed 命令。默认情况下 , sed
对文件中的所有行执行操作。在提供 sed 时 , 可带有地址
### s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 但并不改变文件内容。
#### -i∶直接修改读取的档案内容,而不是由萤幕输出。
### -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作
###### '2,4s/原字符/替换字符/g' 替换2-4行
##### -e '策略1' -e '策略2' file 多策略匹配
[[email protected] ~]# sed 5x passwd.new |head -n 10
####屏蔽第五行
[[email protected] ~]# sed 5d passwd.new |head -n 10
####删除第五行
[[email protected] ~]# sed -n 5p passwd.new |head -n 10
####只显示第五行
[[email protected] ~]# sed 5p passwd.new |head -n 10
###复制第五行
#########脚本,自动创建用户的脚本,用户名在$1文件中,密码在$2文件中