我認爲這段代碼會做到這一點。如果文件夾B中的文件數大於folderA文件數的3倍,則它基於模遞增folderB數和臨時停止條件。
- FolderA的圖案是1,5,9 ...這就好比初始化我爲1,並通過4每次迭代遞增。
- FolderB中的1個,如果我模4遞增的名字不是0否則被2
遞增如果複製粘貼到一個文件中(假設renaming.sh),並假設正確執行許可($>使用chmod + X renaming.sh),它可以用來像在命令行:
$> ./renaming.sh folderA folderB
下面就來把文件中的代碼:
#!/bin/bash
i=1
ACOUNT=0
for FILEA in $1/*; do
mv "${FILEA}" "$1/${i}"
((i+=4))
((ACOUNT++))
done
i=1
BCOUNT=0
for FILEB in $2/*; do
if ((i%4)) ; then
((i++))
else
((i+=2))
fi
if ((BCOUNT>= 3* ACOUNT)); then break; fi
((BCOUNT++))
mv "${FILEB}" "$2/${i}"
done
這需要一點編程。你知道任何編程語言嗎? –
我不是程序員,但是我在C和一些Linux腳本上編寫了一些代碼,但沒有涉及管理不同文件夾上的文件。 – darko
這個解決方案可以用幾十種語言完成,所以如果你發佈這樣的問題,最好給人們一個你想用的語言的概念。這個網站的想法是幫助你學習,所以它應該使用你已經熟悉的技術。 –