用 mapfile 把文件读入数组

无需 read 循环即可把文件加载进数组。

macOSBash 脚本Shell脚本低风险
运行 mapfile -t lines < file.txt,再用 "${#lines[@]}" 获取行数。

01命令

命令
$ mapfile -t lines < file.txt; echo "${#lines[@]}"

02作用说明

mapfile 一次调用就把标准输入读入索引数组,比 while-read 循环更快、更不易出错。它是脚本中处理按行组织文件的高效原语。

03风险

风险低风险
使用条件macOS default zsh/bash (bash 3.2+; some features need bash 4+ via Homebrew)
系统兼容性macOS with bash 3.2+ (GNU bash 4+ via Homebrew for advanced features)
!注意: -t 会去掉行尾换行;需要保留时才省略它。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-10-13 · 分类: 开发者