1. 程式人生 > >[shell]互動方式重新命名資料夾內所有檔案

[shell]互動方式重新命名資料夾內所有檔案

shell程式設計,可以通過互動的方式逐步修改資料夾內所有檔案的檔名和資料夾的名字,寫這個指令碼主要是為了處理從網上下載了一些檔案是中文命名,這讓我在bash中輸入檔案路徑的過程中覺得有點不舒服。所以,想用一個指令碼來加快資料夾重新命名的過程。畢竟每次按f2還聽不舒服的。同時也想通過這麼一個過程學習一下shell程式設計啦,畢竟後天就要考試了。

#!/bin/bash

# 這裡是預設的路徑。 如果你要使用的可以直接修改這裡
path=~/pro/shell/shell/*  

# if $1's length not zero;
# 讀取一個引數, 也就是說你可以在命令列下輸入你要處理的路徑。
if [[ -n $1 ]]; then 
    path=${1}
fi

# # if not a path
# if [[ ! -d path ]]; then
#   echo "${path} not a path";
#   exit
# fi

# 互動式方法重新命名。
for file in ${path}; do
    printf "current file is: ${file}"
    printf "\n please input the new name:"
    read new_name
    if [[ ${new_name} == q ]]; then
        continue
    fi
    mv ${file} ~/pro/shell/shell/${new_name}
done

只是一個簡單的例項。