[英]Print all keyword in Bash
我需要創建一個腳本來刪除許多文件,但是對於Linux,這是一個非常廣泛的命令,為此,我決定使用“ rm -rf key *”刪除該腳本,但首先我找不到如何創建該函數,從A到Z打印所有aeta
如果我可以創建一個循環,則可以完成任務並繼續構建腳本。
不確定您要查找的是什么,但是我曾經有一個shell腳本,它像:
ns="/path/to/file.extension,/path/to/directory,/path/to/something*";
IFS=',';
read -a path <<< "${ns}";
nr="${#path[@]}";
start="0";
for (( i = ${start}; i <=${nr}; i++ )); do
echo "Starting fast-delete round $i of $nr, deleting ${path[$i]}";
rm -rf ${path[$i]};
echo "Done with round $i, deleted ${path[$i]}";
done;
您可以根據需要擴展ns列表,它還允許使用asterix字符作為通配符。 所以/path/to/*
匹配的所有文件和文件夾/path/to
。 但是要小心,因為如果在指定的路徑中犯任何錯誤,這是非常寬容的。 這樣一來,您可以輕松地刪除更多您想要討價還價的東西。
風險在於您(請務必提及)
PS:我從此創建了一個GUI-python腳本,該腳本可以進行更多的微調。 如果您想學習編碼,這是一個很好的挑戰。
編輯 (請參閱評論):
從您的評論來看,您的意思是這樣的嗎?
for x in {a..z}
do
rm -rf /home*/${x}*/mail/*/*/.Trash/cur/*
done
這將執行:
rm -rf /home*/a*/mail/*/*/.Trash/cur/*
rm -rf /home*/b*/mail/*/*/.Trash/cur/*
等,等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.