最近在整理申请软件著作权的代码文档,于是需要用到 shell 获取项目代码生成代码文档,我这里主要整理了两份一份是 Android 原生项目的代码文档获取,一份是 React Native 项目申请的代码文档获取

Android 原生项目代码文档获取脚本

#!/bin/bash

for file2 in $(ls -A $1); do
    if [ -d "$1/$file2" ]; then
        list_alldir "$1/$file2"
    elif [ -f "$1/$file2" ]; then
        if [[ "$1/$file2" == *.java ]] || [[ "$1/$file2" == *.xml ]] || [[ "$1/$file2" == *.kt ]]; then
            cat "$1/$file2" >>out.txt
        fi
    fi
done

React Native 项目代码文档获取脚本

for file2 in $(ls -A $1); do
    if [ -d "$1/$file2" ]; then
        list_alldir "$1/$file2"
    elif [ -f "$1/$file2" ]; then
        if [[ "$1/$file2" == *.js ]] || [[ "$1/$file2" == *.ts ]] || [[ "$1/$file2" == *.tsx ]] || [[ "$1/$file2" == *.json ]]; then
            cat "$1/$file2" >>out.txt
        fi
    fi
done

怎么使用?创建一个 code.sh 的 shell 脚本文件,将上面的代码贴进去,然后终端执行( 下面 /code/app/demoapp/src/ 是代码文件夹,./code.sh 是你创建的脚本文件路径 )

bash ./code.sh /code/app/demoapp/src/

脚本主要原理就是遍历代码文件夹下面全部文件判断符合条件的代码文件全部输出到 out.txt 里面,然后把 out.txt 的代码集合全部粘贴到 Docx 文档里面就行了,理论上支持 Linux ,MacOS 使用。Windows 就不知道了,我不知道 Windows 怎么跑 Bash shell 脚本…