我有很多的目錄,與結束「_和6位」,例如:批量重命名文件夾刪除尾隨字符
diff_gb_and_pf_2voids_158543
我想找到在當前文件夾中的所有文件夾,將其重命名刪去最後的「_」和6位數字。
到目前爲止,我堅持用這個命令:
find . -type d -print |grep '.*[0-9]\{6\}$' |xargs -I {} bash -c 'for i in {}; do mv "$i" ????; done;'
我找不到怎麼做的最後一步。我會嘗試打電話給sed,但是如何? 另外,如果有更好的方法,請告訴。
感謝
這似乎工作,謝謝。你能解釋一下「$ {i%_ *}」嗎? – Napseis
@Napseis:當然。這是bash參數替換,它從變量中刪除最短的後方模式('_ *')。關於[this](http://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html)的摘要表可能值得一看。乾杯。 – Steve