Shell遍历文件夹下所有文件,并将文件内容写入一个文件中

软件著作权要求提供代码文档,这里提供使用Shell遍历文件夹下所有文件,并将文件内容写入一个文件中的方法。

#!/bin/bash
dir="."
target="./target.txt"
# 过滤指定文件或文件夹
filter=(node_modules out dist $target)

listfile() {
    filelist=`ls $1`
    for file in $filelist
    do
        if [[ "${filter[@]}" =~ "$file" ]];then
            continue
        fi

        if [ -d $1/$file ];then
            listfile $1/$file
        else
            cat $1/$file >> $target
        fi
    done
}

listfile $dir