2017-05-30 48 views
0

我試圖找到一些與我需要的內容相近的東西,但最終得到了許多問題的代碼片斷,顯然,我的代碼不起作用。批量更改目錄中的文件名 - Shell

我從來沒有編寫過任何程序,並且在編程方面的知識也接近零。

我想要做的是重新命名我在2個不同的目錄中的一堆文件,以便兩個文件都具有相同的名稱,沒有空格字符

例如:

〜/文檔/ Dir1中/次數1.pdf代替:〜/文檔/ Dir1中/文件A.pdf

〜/文檔/ Dir2中/次數1.pdf代替:〜/文檔/方向2 /文件A.pdf

這是我的能力範圍:

#!/bin/bash 

b4file=$1 
c=0 

for i in $b4file do 
    c=$((c+1)) 
    pref=$(printf "%03d" $c) 
    mv "$i" "${pref}|$i" 
done 

ŧ他的錯誤,我得到的是

mv.sh:行7:附近意外的標記語法錯誤`C = $((C + 1))」

mv.sh:7號線:`C = $ ((c + 1))'

回答

0

For循環讀取文件一個接一個,所以使用下面的代碼,這將消除您的錯誤。 #!/斌/慶典 b4file = $ 1 C = 0

for i in $b4file/* do 
    c=$((c+1)) 
    pref=$(printf "%03d" $c) 
    mv "$i" "${pref}|$i" 
done