1、一维数组
定义:A={test1 test2 test3}
引用:echo ${A[0]} 表示引用第一个数组变量 echo ${A[1]} 表示引用第二个数组变量
显示数据参数:echo ${A[@]} 显示参数个数 echo ${#A[@]}
替换数组元素test2换成test5 ->echo ${A[@]/tets2/test5}
2、sed命令
1)sed 's/192.10/192.168/g' test.txt ->预修改test.txt中192.10变成192.168,但是test.txt依旧是192.10,只是预替换。
其中格式为's/old/new/g',格式中s表示找到全部的old。真正替换为sed -i 's/192.10/192.168/g' test.txt。
2)sed 's/^/&A/g' test.txt 表示在test.txt中每一行首添加A,其中^表示行首,&表示添加,$表示行尾。
3)sed '/hdc/a 520' test.txt 表示在text.txt中的hdc后添加一行520。
sed '/hdc/i 520' test.txt 表示在text.txt中的hdc前添加一行520。
4)sed -n '/hdc/p' test.txt 表示打印hdc所在的行,其中n表示打印,p表示输出print。
sed -n '1p' test.txt 打印第一行。
sed -n '1,2p' test.txt 打印第一,二行。
3、grep命令
grep "^10" test.txt 在当前目录中的test.txt文件中查找以10开头的行
grep "$11" test.txt 在当前目录中的test.txt文件中查找以11结尾的行
cat test.txt | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" 匹配ip地址如172.168.25.3
egrep "hdc|123" test.txt 在当前目录中的test.txt文件中查找hdc或者123的行
4、awk命令
cat /etc/passwd | awk -F: '{print $1}' 其中-F:表示以:来切割(区分列)
ifconfig eth1 | grep "Bcast" | awk '{print $2}'
提取网卡eth1中的IP地址:ifconfig eth1 | grep "Bcast" | awk '{print $2}' | sed 's/addr://g'
ifconfig eth1 | grep "Bcast" | awk '{print $2}' | awk -F:'{print $2}'
5、find命令
格式:find 目录 -name "test.txt" 后面可接命令
find . -name "test.txt" 寻找当前目录中test.txt文件
find . -maxdepth 1 -name "test.txt" 寻找当前目录中第一级目录的test.txt文件
find -size +20 寻找大小大于20MB的文件