当前位置: 首页 > wzjs >正文

做个人网站需要多少钱seo优化网站优化排名

做个人网站需要多少钱,seo优化网站优化排名,邢台做网站优化哪儿好,车陂手机网站建设电话目录 一、索引数组:你的第一个"集合容器"1. 基础操作四连击2. 实用技巧:灵活初始化 二、关联数组:让数据拥有"名字"1. 哈希表声明与使用2. 高级遍历技巧 三、避坑指南:数组操作的"暗礁险滩"1. 稀疏…

目录

    • 一、索引数组:你的第一个"集合容器"
      • 1. 基础操作四连击
      • 2. 实用技巧:灵活初始化
    • 二、关联数组:让数据拥有"名字"
      • 1. 哈希表声明与使用
      • 2. 高级遍历技巧
    • 三、避坑指南:数组操作的"暗礁险滩"
      • 1. 稀疏数组陷阱
      • 2. 含空格元素的正确处理
      • 3. 数组复制陷阱
    • 四、实战:用哈希解析配置文件
    • 五、终极挑战:单词频率统计器
    • 六、性能优化:数组 vs 外部命令
      • 1. 大数据集处理对比
      • 2. 内存优化技巧
    • 课后升级挑战

开篇:当变量不再孤单

想象你是个班主任:

  • 普通变量:只能记住一个学生名字(“张三”)
  • 数组变量:能记住全班名单([“张三”,“李四”,“王五”])
  • 哈希变量:还能记住每个学生的学号({“张三”=>101, “李四”=>102})

今天我们就让Shell变量突破次元壁,解锁集合类型的超能力!

一、索引数组:你的第一个"集合容器"

1. 基础操作四连击

# 声明数组(Shell最奇葩的语法!)
fruits=("苹果" "香蕉" "橙子" "草莓")# 访问元素(从0开始)
echo ${fruits[1]}  # 输出:香蕉# 修改元素
fruits[0]="红苹果"# 获取数组长度
echo "共有 ${#fruits[@]} 种水果"

2. 实用技巧:灵活初始化

# 从命令结果创建数组
processes=($(ps -ef | awk '{print $2}'))# 序列生成(Bash 4.0+)
mapfile -t lines < /etc/passwd  # 按行读取到数组
nums=({1..10..2})  # 生成1 3 5 7 9

二、关联数组:让数据拥有"名字"

1. 哈希表声明与使用

# 必须先声明(Bash 4.0+)
declare -A student_scores# 添加键值对
student_scores=(["张三"]=90["李四"]=85["王五"]=78
)# 动态添加
student_scores["赵六"]=92# 查询
echo "张三的成绩:${student_scores["张三"]}"

2. 高级遍历技巧

# 遍历所有键
for name in "${!student_scores[@]}"; doecho "$name : ${student_scores[$name]}"
done# 按值排序输出
for k in $(echo ${!student_scores[@]} | tr ' ' '\n' | sort); doecho "$k ${student_scores[$k]}"
done

三、避坑指南:数组操作的"暗礁险滩"

1. 稀疏数组陷阱

arr=([0]="a" [3]="d")  # 中间有空位
echo "元素个数:${#arr[@]}"  # 输出2不是4!

2. 含空格元素的正确处理

# 错误示范
files=($(ls *.txt))  # 文件名含空格会分裂# 正确做法(IFS+mapfile)
IFS=$'\n' mapfile -t files < <(find . -name "*.txt")

3. 数组复制陷阱

arr1=(1 2 3)
arr2=("${arr1[@]}")  # 正确复制方式
arr3=${arr1[@]}     # 错误!变成字符串

四、实战:用哈希解析配置文件

#!/bin/bash
declare -A configparse_config() {while IFS='=' read -r key value; do[[ $key == [* ]] || continue  # 跳过注释config["${key%%[[:space:]]*}"]="${value#*[[:space:]]}"done < "app.conf"
}# 示例配置文件内容:
# [database]
# host = 127.0.0.1
# port = 3306parse_config
echo "数据库地址:${config[host]}:${config[port]}"

五、终极挑战:单词频率统计器

#!/bin/bash
declare -A word_count# 统计函数
count_words() {tr '[:upper:]' '[:lower:]' |  # 统一小写tr -cs '[:alpha:]' '\n' |    # 保留字母生成单词列表sort |uniq -c |                    # 统计频次while read count word; doword_count["$word"]=$countdone
}# 分析文本
echo "The quick brown fox jumps over the lazy dog" | count_words# 输出结果
for word in "${!word_count[@]}"; doprintf "%-10s %d\n" "$word" "${word_count[$word]}"
done | sort -k2nr  # 按频次降序

输出示例:

the        2
fox        1
dog        1
...(其他单词)

六、性能优化:数组 vs 外部命令

1. 大数据集处理对比

# 方式1:纯数组操作(更快)
for ((i=0; i<10000; i++)); doarr[$i]=$RANDOM
done# 方式2:调用外部命令(更慢)
for i in {1..10000}; doarr[$i]=$(awk 'BEGIN{print rand()}')
done

2. 内存优化技巧

# 大数组分批处理
batch_size=1000
for ((i=0; i<${#huge_array[@]}; i+=batch_size)); dobatch=("${huge_array[@]:$i:$batch_size}")process_batch "${batch[@]}"
done

课后升级挑战

任务:开发升级版词频统计工具

  • ✅ 支持从文件/管道/stdin多方式输入
  • ✅ 忽略常见停用词(the,a,an等)
  • ✅ 生成词云HTML可视化

示例效果:

$ ./wordfreq.sh < novel.txt | head -5
the      1245
love      890
time      765
...
http://www.dtcms.com/wzjs/179525.html

相关文章:

  • 银川网站开发制作seo搜索引擎优化实训报告
  • php零基础做网站app注册拉新平台
  • 用自己电脑做服务器 网站网络营销案例分享
  • 软件 网站模板线上渠道推广有哪些方式
  • 网站优化排名网站个人接外包的网站
  • 网站首页客服qq做超链接浙江seo
  • wordpress主播优化人员是什么意思
  • 百度网站建设的十一个厦门百度整站优化服务
  • 原江苏省建设厅网站在线推广网站的方法
  • 安溪县建设局网站广州市最新消息
  • 佛山企业网站建设特色搜索软件
  • 南宁网站建公司电话号码杭州网站优化培训
  • 做网站和做网页的区别佛山市seo推广联系方式
  • 云南网站建设方法百度搜索指数1000是什么
  • 怎么指导电脑有么有安装wordpress宁波seo外包
  • 东莞设计网站建设方案不受限制的浏览器
  • 建设公司网站开发方案关键词seo资源
  • 怎么做网站的内链外链深圳市住房和建设局官网
  • 做微信网站公司名称网络营销包括几个部分
  • 西安网站建设王永杰营销网站优化推广
  • 四川网站建设电话谷歌优化
  • 福州阿里巴巴网站建设宁波网站推广优化外包
  • 摄影网站建设目的营销型网站建设推荐
  • 湖南 网站建设网站卖链接
  • 网站设计主色学校it培训班学出来有用吗
  • 网站开发工程师岗位说明书邢台市seo服务
  • 营销型平台网站建设seo优化运营专员
  • 装修网站怎么做的好处怎样优化网站关键词排名靠前
  • 沈阳模板建站哪家好怎么创建自己的免费网址
  • mongodb做网站t和p在一起怎么做网站