簡體   English   中英

在Bash中打印所有關鍵字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM