[英]How to use the bash script for directory structure?
簡介:我正在嘗試使用 Automator on mac Automator 屏幕截圖並使用此 bash 腳本創建目錄結構
mkdir -p "$1/$2/Client_Name_Social_Media/01_January_2020/Design/Deliverables"
問題:我需要在每個目錄名稱之前添加 Client_name。 我有很多客戶,我不想浪費時間重命名目錄。
最終目錄結構:
先感謝您
您可以將客戶端名稱存儲在一個數組中,並在循環中遍歷它們以創建目錄。 在您的示例中,要使用客戶端名稱Client1
、 SomeClient2
、 C3
創建直至Client_Name_Month
的目錄,您可以使用:
for clname in {"Client1", "SomeClient2", "C3"}
do
mkdir -p "${cln}/${cln}_Social_Media/${cln}_Month"
done
這將創建目錄:
Client1/Client1_Social_Media/Client1_Month
SomeClient2/SomeClient2_Social_Media/SomeClient2_Month
C3/C3_Social_Media/C3_Month
與為存儲在clnames
@GoodDeeds 中的新客戶列表從頭開始創建目錄類似,相應的 cli bash
答案將是:
clnames=("Client1" "SomeClient2" "C3")
for cln in "${clnames[@]}"; do
mkdir -p "./${cln}/${cln}_Social_Media/${cln}_Month/${cln}_Calendars"
mkdir -p "./${cln}/${cln}_Social_Media/${cln}_Month/${cln}_Design/${cln}_OpenFiles"
mkdir -p "./${cln}/${cln}_Social_Media/${cln}_Month/${cln}_Design/${cln}_Deliverables"
mkdir -p "./${cln}/${cln}_Social_Media/${cln}_Month/${cln}_Campaigns"
done
注意:這不能直接在您編寫的自動機腳本中工作。
如果您需要以遞歸方式將名為ClientName
的現有客戶的目錄結構重命名為JohnSmith
它可能如下所示
find . -depth -name 'ClientName_*' -execdir bash -c 'mv "$0" "${0//ClientName_/JohnSmith_}"' {} \;
所以這解決了我的問題:
DIR="$1"
CLIENT="$2"
TMONTH="$(date -j +%d_%B_%Y)"
mkdir -p ${DIR}/${CLIENT}/${CLIENT}_Social_Media/${CLIENT}_${TMONTH}/${CLIENT}_Calendars
mkdir -p ${DIR}/${CLIENT}/${CLIENT}_Social_Media/${CLIENT}_${TMONTH}/${CLIENT}_Design/${CLIENT}_OpenFiles
mkdir -p ${DIR}/${CLIENT}/${CLIENT}_Social_Media/${CLIENT}_${TMONTH}/${CLIENT}_Design/${CLIENT}_Deliverables
mkdir -p ${DIR}/${CLIENT}/${CLIENT}_Campaigns
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.