我正在嘗試在Linux中編寫腳本。我在哪裏有一些csv文件在兩個不同的文件夾(A和B)中,然後在處理完一些被拒絕的文件後,它們將移動到錯誤的文件夾中。Wrtie腳本刪除文件,如果它存在於Linux中的不同文件夾中
因此,我希望從表A和B中刪除已經複製到壞文件夾的壞文件。
你能幫我寫這個腳本的Linux?包含您的A,B和BAD目錄的路徑
最佳
我正在嘗試在Linux中編寫腳本。我在哪裏有一些csv文件在兩個不同的文件夾(A和B)中,然後在處理完一些被拒絕的文件後,它們將移動到錯誤的文件夾中。Wrtie腳本刪除文件,如果它存在於Linux中的不同文件夾中
因此,我希望從表A和B中刪除已經複製到壞文件夾的壞文件。
你能幫我寫這個腳本的Linux?包含您的A,B和BAD目錄的路徑
最佳
#!/bin/bash
#Set the working folder in which you want to delete the file
Working_folder=/<Folder>/<path>
cd $Working_folder
#command to delete all files present in folders
rm <filenames seperated by space>
echo "files are deleted"
#if you want to delete all files you can use wild card character
# e.g. command rm *.*
# if you want to delete a particular file say for deleting .csv file you can use command rm *.csv command
使用'cd「$ {Working_folder}」'代替:如果以這種方式離開,會出現一堆可能的故障。除此之外 - 答案並沒有真正解決問題的要求。 – Zloj
設置變量。
然後,你可以做沿
for file in ls ${PATH_TO_BAD}
do
rm ${PATH_TO_A}/$file
rm ${PATH_TO_B}/$file
done
這是遍歷目錄BAD和發現的任何文件,線的東西,它會從A和B目錄中刪除。
可以說壞文件夾的名稱是「badFolder」,並考慮「A」,「B」和「badFolder」在同一目錄
步驟刪除文件夾中的文件和B:
一步1:改變當前目錄到你的 'badFolder'
CD badFolder
第2步:刪除相同的文件
找。 -type f -exec rm -f ../ A/{} \;
找到。 -type f -exec rm -f ../ B/{} \;
參數-type f告訴查找文件,而不是目錄。
The -exec ... \;參數告訴我們,一旦它在'badFolder'中找到一個文件,它應該在A子目錄中的相應位置運行命令rm -f。
因爲rm與-f選項一起提供,它將默默忽略不存在的文件。
另外,它在刪除文件之前不會提示。這在刪除大量文件時非常方便。但是,確保在運行此腳本之前確實想要刪除這些文件。
你已經試過了什麼?請展示它,這樣我們才能真正幫助你,而不是爲你寫腳本。 SO並不是免費的資源來編寫代碼。 – Zloj