Linux - 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/ /\n/g'|grep -v '^$'|sort -nr|sed -n '1p;$p'

 

 

2、awk

案例一:打印第几列

 

 

 

案例二:匹配ip

 

案例三:

 

3、find

 

4、grep

案例一:匹配

 

 

案例二:打印行号

 

posted @   困了就睡觉觉  Views(255)  Comments(0Edit  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示