use tools for extracting ,analyzing and manipulating text data
使用提取、分析和处理文本数据的工具
全文阅读
cat:直接抓取文件,一次性输出
less:分屏工具 (上下键,pageup pagedown,:搜索关键字,退出q) man帮助使用的而是less
more:只能向下分屏显示
指定位置
head :默认显示前10行 nl 给输出的信息添加行号
head -n 11 /etc/passwd
tail:默认显示文件的最后10行 // tail -f (追踪文件追加的内容)
tail -n 17 /etc/passwd
grep :过滤,以行为单位
-w :单词
-i :忽略大小写 计算机识别是通过ascii码
-n :显示关键字在哪一行
-v :取反
-Ax:显示关键字后X行
-Bx:显示关键字前x行
-r :递归查询
--color: alias别名 系统自带了添加颜色
dmidecode 查看系统硬件信息
dmidecode |grep A10 过滤关键字下面的10行
cut:竖切
cut -d: -f1 /etc/passwd :以:为分隔符切出来第一列
cut -c1-5 /etc/passwd :按字符来切
ifconfig br0 |grep -w inet |cut -d -f3 :转意符
ifconfig br0 |grep -w inet |awk {'print $2'}
wc:统计
行 单词 字符
-l:行
-c:字符
-m:字节
sort:排序
-r:反向排序
-n:
-f:
-u:取唯一值
-t:分格符
-k:
uniq :取唯一值(相邻行之间的比较)
cat abc |sort |uniq -c 先排序后排出,最后统计
diff :比较不同 (行级)
diff /tmp/abc /tmp/def
tr and sed
tr ‘a-z’ 'A-Z' < lowercase.txt
sed :查找与替换
sed 's/dog/cat/g' pets //全局查找dog并且替换成cat
sed '1,50s/dog/cat/g' pets //1-50行 全局查找dog并且替换成cat
sed '/digby/,/duncan/s/dog/cat/g' pets //两个关键字之间的搜索替换
作业
1、截取系统中所有网卡的IP 和MAC
2、截取后的结果要求放到指定的文件中,所有的网卡信息应当放到/data/net(每个网卡一个文件)
3、文件名的命名方式为 主机名-网卡名
4、该动作应当使用脚本执行
5、要求该脚本可移植
6、本地回环接口除外
#!/bin/bash
#for cut IP and MAC
NAME=$(ifconfig |grep flags |grep -v lo |cut -d: -f1)
DIR=/data/ent
for NET in $NAME
do
mkdir -r $DIR
IPADDR=$(ifconfig $NAME |grep -w inet|awk {'print $2'})
MAC=$(ifconfig $NAME |grep -w ether |awk {'print $2'})
HOST=$(hostname)
echo $IPADDR >> $DIR/$HOST-$NAME
echo $MAC >> $DIR/$HOST-$NAME
done