我要寻找一个干净的解决方案,这将让我:删除的文件夹是空或包含从文本文件的.gitignore文件
- 发现,要么是空的或包含文件夹的.gitignore文件
- 输出他们到一个文本文件
- 删除文件夹
- 在以后重新创建它们(不
gitignore
,只是目录结构)
现在这就是我:
1)发现,是空文件夹或包含的.gitignore文件,并将其输出到文件
dir = $1
find /c/methuselah/$dir/ -name .gitignore > $dir/gitignoredir.txt
find /c/methuselah/$dir/ -type d -empty > $dir/emptydir.txt
为gitignoredir.txt:
/C /玛士撒拉示例文件内容/项目/文件夹1/subfolder1 /的.gitignore /c/methuselah/project/folder1/subfolder2/.gitignore /c/methuselah/project/folder1/subfolder3/.gitignore
emptydir.txt
包含什么,因为空文件中都含有。 gitignore文件。
2)删除文件夹
dir = $1
filename=$dir/gitignoredir.txt
filelines='cat $filename'
for line in $filelines
do
echo 'Removing $line'
rm -rf $line
done
不幸的是,这并不工作,因为它只是删除了的.gitignore文件。这意味着保留空文件夹。我想删除它们作为删除过程的一部分。我将如何在Bash中完成此操作?
'.txt'是在该行的末尾错过'文件名= $ DIR/gitignoredir' – RomanPerekhrest