我堅持找一個班輪爲前綴的例子添加到所有子文件夾和文件的名稱在目錄如何在文件夾和文件的前綴?
如「AAA」的
/folder/AAAfile.txt
/folder/AAAread/AAAdoc.txt
/folder/AAAread/AAAfinished/AAAread.txt
我使用xargs的,找到試過,但不能讓他們通過遞歸子目錄和去他們的con帳篷。有什麼建議麼? 詹姆斯
我堅持找一個班輪爲前綴的例子添加到所有子文件夾和文件的名稱在目錄如何在文件夾和文件的前綴?
如「AAA」的
/folder/AAAfile.txt
/folder/AAAread/AAAdoc.txt
/folder/AAAread/AAAfinished/AAAread.txt
我使用xargs的,找到試過,但不能讓他們通過遞歸子目錄和去他們的con帳篷。有什麼建議麼? 詹姆斯
你可以使用類似的東西
find . -mindepth 1 | sort -r | xargs -l -I {} bash -c 'mv $1 ${1%/*}/AAA${1##*/}' _ {}
與您的文件夾結構測試,從根目錄執行(與AAAfile.txt相同)。
下面的腳本應滿足您的需要(從您的folder
目錄中運行它):
for i in `ls -R`;do
dname=`dirname $i`
fname=AAA`basename $i`
if [ -f $i ]
then
mv $i $dname/$fname
fi
#this could be merged with previous condition but have been kept just to avoid invalid directory warning
if [ -d $i ]
then
mv $i $dname/$fname
fi
done
很好的使用參數擴展和子字符串刪除,以及反向排序來防止目錄重命名之前的文件。 –