File: /run/media/kiosk/CA9C-5CE5/11.11/11.5(1) Page 1 of 3
**************unit6.文本处理工具*******
****1.diff(比较文件不同)
diff file file1 /*比较两个文件的不同
-c /*显示周围的行
-u /*按照同一个是输出生成补丁
-r /*比较两个目录中的文件的不同
patch file file.path /*打补丁
-b /*备份原文件
***2.grep正则表达式(截取关键字所在行)
grep 关键字符 文件|目录 /*在文件或目录中查找含有关键字的行
grep -i /*忽略大小写
-n /*显示关键字所在行
-c /*显示过滤结果的个数
-v /*反向过滤
-E "关键字1|关键字2" /*过滤多个关键字
-r 目录 /*在目录中查找含有关键字的文件
注意:^关键字 /*以关键字开头
关键字$ /*以关键字结尾
***3.cut(用于剪切文件中的文本子段或者将其显示出来)
cut /*截取字符
cut -d 分隔符 /*指定分隔符
cut -f 1,7 /*显示指定的列
cut -c 1-4 /*显示指定字符
ifconfig eth0 | grep inet | grep inet6 -v | cut -d "" -f 10
ifconfig eth0 | grep inet | grep inet6 -v | awk -F "" '{print $2}'
***4.sort /*排序
sort
-n /*纯数字排序
-u /*去冗余
|uniq -c /*去除冗余并统计冗余次数
-k /*指定列
-t /*指定分隔符
***5.uniq
sort file |uniq -c /*去除冗余并统计冗余次数
-d /*显示冗余行
-u /*显示唯一的行
***6.sed
sed 's/原字符/替换字符/g' file
sed -e ‘策略1’ -e ‘策略2’ file
sed -i file /*把转换后的内容输入到指定文件
sed ‘3,5s/原字符/替换字符/g’ file /*3-5行转换
sed xd /*屏蔽指定行
sed xp /*复制指定行
sed -n xp /*只显示指定行
sed -ne xp -ne yp file /*指定复制3和5两行
sed -n 3,5p file /*复制3-5行
例子:sed -e 's/^\ *//g' file -e 's/\t/\ /g' -i file /*将file文件下面的以空格开头的和以tab键开头的替换掉
******一个脚本(将密码和帐号匹配起来)*************
#!/bin/bash
MAX=$(wc -l $1 | cut -d " " -f 1) /*统计user的行数
for NUM in $( seq $MAX) /*循环MAX次
do
USERNAME=$( sed -n ${NUM}p $1 ) /*复制第1,2,3行
PASSWD=$( sed -n ${NUM}p $2 ) /*复制第1,2,3行
useradd $USERNAME /*用户添加
echo $PASSWD | passwd --stdin $USERNAME /*这个选项用于从标准输入管道读入新的密码
done