超实用!用 termex 脚本从 appfilter.xml 生成 drawable.xml 及注意要点
以下是一个简单的 `bash` 脚本示例,用于从 `appfilter.xml` 生成对应的 `drawable.xml` 文件。这个脚本的主要功能是从 `appfilter.xml` 文件中提取相关信息,并生成 `drawable.xml` 文件。 ```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 文件 echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > "$output_file" echo "<resources>" >> "$output_file" # 从 appfilter.xml 中提取相关信息并写入 drawable.xml grep -o '<item component=".*" drawable=".*"/>' "$input_file" | while read -r line; do # 提取 drawable 属性的值 drawable=$(echo "$line" | sed 's/.*drawable="\([^"]*\)".*/\1/') # 写入 drawable.xml 文件 echo " <drawable name=\"$drawable\">$drawable</drawable>" >> "$output_file" done # 结束 drawable.xml 文件 echo "</resources>" >> "$output_file" echo "drawable.xml 文件生成完成。" ``` 代码解释 1. 输入输出文件路径:定义了输入的 `appfilter.xml` 文件路径和输出的 `drawable.xml` 文件路径。 2. 文件检查:检查 `appfilter.xml` 文件是否存在,如果不存在则输出错误信息并退出脚本。 3. 生成文件头部:向 `drawable.xml` 文件中写入 XML 声明和 `<resources>` 标签。 4. 提取信息并写入:使用 `grep` 命令从 `appfilter.xml` 文件中提取所有 `<item>` 标签,然后使用 `sed` 命令提取 `drawable` 属性的值,并将其写入 `drawable.xml` 文件。 5. 生成文件尾部:向 `drawable.xml` 文件中写入 `</resources>` 标签。 6. 完成提示:输出生成完成的提示信息。 注意事项 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 确保 `appfilter.xml` 文件的路径正确,否则脚本将无法找到该文件。 2. 如果 `appfilter.xml` 文件的格式不符合预期,可能会导致提取信息失败,需要确保文件格式正确。 3. 生成的 `drawable.xml` 文件可能会覆盖已有的同名文件,请提前备份重要数据。 ######[AI写代码神器 | 628点数解答 | 2025-08-27 07:02:03]
- 代码填空挑战:完成正态分布、随机数生成及数据处理代码(阿里通义 | 506点数解答 | 2025-03-23 14:32:14)326
- 挑战!完成代码填空解锁数据处理奥秘(字节豆包 | 116点数解答 | 2025-03-26 22:22:15)344
- 挑战填空!完成这段 NumPy 代码实现数据生成与保存(DeepSeek | 178点数解答 | 2025-03-26 22:26:30)408
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)200
- 易语言模拟POST请求抓包内容:代码示例及注意要点揭秘(字节豆包 | 1131点数解答 | 2025-06-02 12:46:09)192
- 5条新春贺语,开启龙年吉祥团圆新篇章!(字节豆包 | 135点数解答 | 2025-01-15 14:43:34)321
- Java实现Student类:含构造、方法及年龄判定(字节豆包 | 464点数解答 | 2024-11-19 15:55:26)392
- Python 实现多功能手机通讯录:添加、查看、删除、修改、查找全搞定!(字节豆包 | 1030点数解答 | 2025-06-05 15:47:56)251
- 工程师必知!LoadRunner 脚本调试的 10 大基本步骤(百度文心 | 463点数解答 | 2023-11-09 18:25:48)336
- JMeter 工程师必知:HTTP 代理服务器原理及脚本录制全流程揭秘(百度文心 | 371点数解答 | 2023-11-09 18:26:54)276
- Linux脚本:巧用if条件精准判断/home/test.txt文件是否存在(阿里通义 | 356点数解答 | 2024-11-16 16:42:28)289
- Linux 脚本:轻松判断 /home/test.txt 文件是否存在及更多检查选项(讯飞星火 | 347点数解答 | 2024-11-16 16:45:35)265