酷代码 AI
菜单
服务商

由appfilter.xml在同目录下生成对应的drawable.xml的termux可执行脚本

以下是一个在 Termux 环境下,根据 `appfilter.xml` 文件在同目录下生成对应的 `drawable.xml` 文件的 Bash 脚本: ```bash #!/bin/bash # 定义输入文件为 appfilter.xml input_file="appfilter.xml" # 定义输出文件为 drawable.xml output_file="drawable.xml" # 检查 appfilter.xml 文件是否存在 if [ ! -f "$input_file" ]; then echo "appfilter.xml 文件不存在,请检查。" exit 1 fi # 开始生成 drawable.xml 文件,添加文件开头的 XML 声明和资源标签 echo '<?xml version="1.0" encoding="utf-8"?>' > "$output_file" echo '<resources>' >> "$output_file" # 从 appfilter.xml 文件中提取 icon 名称,并写入 drawable.xml 文件 grep -o '<item component=".*" drawable="[^"]*"/>' "$input_file" | while read -r line; do # 提取 drawable 属性的值 drawable_name=$(echo "$line" | grep -o 'drawable="[^"]*"' | cut -d'"' -f2) # 生成 drawable.xml 中的一行内容 echo " <item name=\"$drawable_name\" type=\"drawable\" />" >> "$output_file" done # 添加文件结尾的资源标签 echo '</resources>' >> "$output_file" echo "drawable.xml 文件已成功生成。" ``` 代码说明 1. 输入输出文件定义:脚本开始时,定义了输入文件为 `appfilter.xml`,输出文件为 `drawable.xml`。 2. 文件检查:检查 `appfilter.xml` 文件是否存在,如果不存在则输出错误信息并退出脚本。 3. 文件开头部分生成:向 `drawable.xml` 文件中写入 XML 声明和 `<resources>` 标签。 4. 提取 drawable 名称:使用 `grep` 命令从 `appfilter.xml` 文件中提取包含 `drawable` 属性的 `<item>` 标签,然后使用 `cut` 命令提取 `drawable` 属性的值。 5. 生成 drawable.xml 内容:将提取的 `drawable` 名称格式化为 `<item>` 标签,并写入 `drawable.xml` 文件。 6. 文件结尾部分生成:向 `drawable.xml` 文件中写入 `</resources>` 标签。 使用方法 1. 将上述脚本保存为一个文件,例如 `generate_drawable.sh`。 2. 给脚本添加执行权限: ```bash chmod +x generate_drawable.sh ``` 3. 在包含 `appfilter.xml` 文件的目录下运行脚本: ```bash ./generate_drawable.sh ``` 需要小心的地方 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 文件路径问题:确保 `appfilter.xml` 文件和脚本在同一目录下,或者根据实际情况修改脚本中的文件路径。 2. XML 格式问题:如果 `appfilter.xml` 文件的格式不符合预期,例如 `<item>` 标签的属性顺序或格式不同,可能会导致脚本无法正确提取 `drawable` 名称。 3. 文件覆盖问题:运行脚本时,`drawable.xml` 文件会被覆盖,如果该文件已经存在且包含重要内容,请提前备份。 [2025-08-27 07:59:45 | AI写代码神器 | 766点数解答]

相关提问
请收藏新域名:pdcd.cn
发财导航,免费问AI
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]