unit6:文本的处理工具
diff命令:(用于比较两个文件的区别,并且是以行为单位来比较的。一般用在ASCII纯文本文件的比较上,通常用于同一文件(或软件)新旧版本区别上)
diff -c file1 file2 ##显示两文件的全部内容并且表明不同之处
diff -u file1 file2 ##以合并的方式来显示两文件的不同
diff -B file1 file2 ##忽略空白行的区别
diff -i file1 file2 ##忽略大小写的区别
diff -b file1 file2 ##忽略空白字符的不同
diff -r file1 file2 ##比较子目录中的文件
patch命令:(利用diff比较两个文件生成补丁文件,再由补丁文件更新新旧文件)
命令 参数
patch -p 原始文件 补丁文件 ##p后面接数字,用来表示取消几层目录
patch -R 原始文件 补丁文件 ##代表还原,将新的文件还原成旧的版本
patch -b 原始文件 补丁文件 ##备份原始文件
grep命令:(它的功能就是进行字符串的比对,然后将符合用户需求的字符串打印出来)
grep -c 关键字 文件名 ##只输出匹配行的计数
grep -i 关键字 文件名 ##不区分忽略大小写
grep -n 关键字 文件名 ##显示关键字匹配行及其行号
grep -r 关键字 目录名 ##在目录中查找含有关键字的文件
grep -E 关键字 文件名 ##过滤多个关键字
grep -v 关键字 文件名 ##反向过滤
grep ^关键字 文件名 ##查找以关键字开头的内容
grep 关键字$ 文件名 ##查找以关键字结尾的内容
cut命令:(cut是一个选取命令,就是将一段数据进行分析取出来我们指定的部分)
cut -d '指定字符' ##后面接分隔字符,与-f一起使用;默认分隔符为tab
cut -f ##依据-d的分隔字符将一段信息切割成数段,用-f取出第几段的意思
cut -c ##仅现显示行中指定范围的字符
sort命令:(将文件进行排序,并将排序结果输出)
sort -n ##按数字由大到小排序
sort -r ##反向排序
sort -u ##就是 uniq,相同的数据中,仅出现一行代表
sort -f ##排序时,将大写字母视为小写字母
sort -b ##忽略前面的空格符部分
sort -t ##分隔符,默认为tab键来分隔,-t用分隔字符将一段信息切割成数段,用-k 后面跟段数表示将被分隔的某段进行排序
uniq命令:(一般与sort命令结合使用,排序完成后将重复的数仅列出一遍)
uniq -c ##在每列旁边显示该行重复出现的次数
uniq -d ##仅显示重复出现的行列
uniq -u ##仅显示只出现过一次的行列
tr命令:(用来删除一段信息当中的的文字,或是进行文字信息的替换)
tr -d 字符串 ##删除信息当中指定的字符串
tr -s ##将所有重复出现的字符串压缩为一个字符
sed命令:
sed ‘s/原字符/替换字符/g’ file ##将原字符替换为
sed -e ‘策略1’ -e ‘策略2’file
sed -i file ##直接修改文件的内容,而不是输出到终端
sed ‘3,5s/原字符/替换字符/g’ ##把第3到5行替换
sed xd ##屏蔽指定行
sed xp ##复制指定行
awk命令:(主要处理每一行字段内的数据,而默认字段的分隔符为空格键或tab键)
awk '条件类型1{动作1} 条件类型2{动作2}...' filename(动作要用双引号)
变量名称 代表意义
NF 每一行($0)拥有的字段数
NR 目前所处理的是第几行的数据
FS 目前的分隔字符,默认是空格键