Shell编程

一、数组

今天这里我们来探讨一维数组的定义、统计、引用和删除等操作。首先来定义一个一维数组:
A=( test1 test2 test3 ) ,定义数组一般以括号的方式来定义,数组的值可以随机定义。如何来引用呢?
echo ${A[0]},代表引用第一个数组变量,结果会显示 test1,数组引用从 0 开始,代表第一个数组,依次类推。
echo ${A[1]},代表引用第二个数组变量,结果会显示 test2,数组引用也是从 0 开始计算的。
如何显示该数组所有参数呢?echo ${A[@]} 将显示所有参数test1test2 test3 。
如何显示该数组参数个数呢?echo ${#A[@]} 将显示该数组的参数个数 3。
如果替换某个数组呢?例如替换第二个 test2 数组为 test5:echo ${A[@]/test2/test5}
如何删除一个数组呢?例如删除 test3 数组命令为:unset A[2] ;echo ${A[@]}查看效果。

案例:输出数组元素的个数

二、函数

shell 允许将一组命令集或语句形成一个可用块,这些块称为
shell 函数,定义函数的格式:
function name (){
command1
........
}
name

案例:

三、shell编程之四剑客:sed、awk、find、grep

1、sed

案例一:文件内容替换

sed -i 's/127.0.0.1/10.0.0.200/g' test.txt  把文件里面的 127.0.0.1字符替换为10.0.0.200

案例二:在文件开头或者结尾添加字符:

案例三:在某某之后添加一行与在某某前添加一行

案例四:只打印匹配的一行

案例五:打印具体的行的内容

案例六:找到最大值和最小值

cat number.txt |sed 's/ /
/g'|grep -v '^$'|sort -nr|sed -n '1p;$p'

2、awk

案例一:打印第几列

 

案例二:匹配ip

案例三:

3、find

 

4、grep

案例一:匹配

案例二:打印行号

原文地址:https://www.cnblogs.com/zhangguosheng1121/p/13068687.html