我想要mv
所有以'x'開頭的文件到目錄'x';是這樣的:在Bash中循環顯示字母
mv path1/x*.ext path2/x
,並做了所有字母A,...,Z
如何我寫bash腳本,這使得 'X' 在字母表循環?
我想要mv
所有以'x'開頭的文件到目錄'x';是這樣的:在Bash中循環顯示字母
mv path1/x*.ext path2/x
,並做了所有字母A,...,Z
如何我寫bash腳本,這使得 'X' 在字母表循環?
for x in {a..z}
do
echo "$x"
mkdir -p path2/${x}
mv path1/${x}*.ext path2/${x}
done
這應該讓你開始:
for letter in {a..z} ; do
echo $letter
done
這裏是如何使用嵌套括號擴展
for l in {{a..n},ñ,{o..z}}; do echo $l ; done | nl
1 a
...
14 n
15 ñ
16 o
...
27 z
或者乾脆
echo -e {{a..n},ñ,{o..z}}"\n" | nl
如果你想生成西班牙語字母生成obsolete 29個字符西班牙字母
echo -e {{a..c},ch,{d..l},ll,{m,n},ñ,{o..z}}"\n" | nl
對於法語字母表或德語字母表可以進行類似操作。
使用rename
:
mkdir -p path2/{a..z}
rename 's|path1/([a-z])(.*)|path2/$1/$1$2' path1/{a..z}*
如果要剝離工作的領導[A-Z]從文件名字符,更新perlexpr是:
rename 's|path1/([a-z])(.*)|path2/$1/$2' path1/{a..z}*