shell 获取文件夹下所有子文件夹下所有文件的名称 如果子文件夹以anim开头,则生成的字符串规则为: 开头:<path value="com.youxiang.soyoungapp.R.anim. 中间:文件名称 结尾:" /> 如果子文件夹以drawable开头,则生成的字符串规则为: 开头:<path value="com.youxiang.soyoungapp.R.drawable. 中间:文件名称 结尾:" /> 如果子文件夹以layout开头,则生成的字符串规则为: 开头:<path value="com.youxiang.soyoungapp.R.layout. 中间:文件名称 结尾:" /> 如果子文件夹以mipmap开头,则生成的字符串规则为: 开头:<path value="com.youxiang.soyoungapp.R.mipmap. 中间:文件名称 结尾:" /> 以上字符串聚合去重保存一个txt中
时间: 2024-03-10 07:49:29 浏览: 117
可以使用以下的 shell 脚本实现:
```bash
#!/bin/bash
folder_path="path/to/parent/folder"
output_file="path/to/output/file.txt"
# 遍历所有子文件夹下的文件,并根据文件夹名生成对应的字符串
find "$folder_path" -type f | while read file_path; do
folder_name=$(basename "$(dirname "$file_path")")
case "$folder_name" in
anim*)
output="<path value=\"com.youxiang.soyoungapp.R.anim.$(basename "$file_path")\" />"
;;
drawable*)
output="<path value=\"com.youxiang.soyoungapp.R.drawable.$(basename "$file_path")\" />"
;;
layout*)
output="<path value=\"com.youxiang.soyoungapp.R.layout.$(basename "$file_path")\" />"
;;
mipmap*)
output="<path value=\"com.youxiang.soyoungapp.R.mipmap.$(basename "$file_path")\" />"
;;
*)
continue
;;
esac
echo "$output"
done | sort -u > "$output_file"
```
其中,`folder_path` 为要遍历的文件夹路径,`output_file` 为输出的文本文件路径。脚本会遍历所有子文件夹下的文件,并根据文件夹名生成对应的字符串。最后,使用 `sort -u` 命令将字符串去重,并保存到指定的文本文件中。
阅读全文