You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shell实现列出MG开头文件夹写入txt并读取生成变量列表

Shell脚本实现MG开头文件夹导出与变量拼接

功能1:导出指定路径下MG开头文件夹列表到txt文件

  • 不建议直接使用参考命令ls | grep MG*.* > tempfile.txt,该写法存在两个明显问题:一是正则匹配逻辑错误,会误匹配不符合命名规则的内容;二是无法区分文件和文件夹,会把名称带MG的普通文件也写入结果。
  • 兼容Linux、macOS环境的稳妥实现命令如下,把命令里的/your/target/path替换成你实际要扫描的文件夹路径即可:
find /your/target/path -maxdepth 1 -type d -name "MG*" -exec basename {} \; > mg_folder_list.txt
  • 参数说明:
    • -maxdepth 1:仅扫描指定路径的第一层内容,不递归遍历子文件夹
    • -type d:只匹配文件夹类型,自动过滤普通文件、软链接等其他类型内容
    • -exec basename {} \;:仅输出文件夹本身的名称,不带前置路径,逐行写入txt文件
  • 最终生成的mg_folder_list.txt格式完全符合要求,示例内容如下:
MG-x###1
MG-x###2
MG-x###3

功能2:读取txt文件拼接为空格分隔的列表变量

  • 直接执行以下命令,即可把txt内逐行存储的文件夹名拼接为要求的变量格式:
listvariables=$(tr '\n' ' ' < mg_folder_list.txt | sed 's/[[:space:]]*$//')
  • 逻辑说明:
    • tr '\n' ' ' 把txt内的换行符全部替换为空格,将逐行内容转为空格分隔的格式
    • sed 's/[[:space:]]*$//' 清除字符串末尾多余的空格,避免变量尾部带无效空白字符
  • 执行完成后可通过echo "$listvariables"验证结果,输出格式如下:
MG-x###1 MG-x###2 MG-x###3

内容的提问来源于stack exchange,提问作者Curious Scripting

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 06:21:30