我要尋找一個乾淨的解決方案,這將讓我:刪除的文件夾是空或包含從文本文件的.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