「x」で始まるすべてのファイルをディレクトリ「x」にmv
したい。何かのようなもの:
mv path1/x*.ext path2/x
そして、すべてのアルファベット文字a、...、zに対してそれを行います
アルファベットを「x」ループにするbashスクリプトを作成するにはどうすればよいですか?
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
廃止 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}*
大文字も同様に
for letter in {{a..z},{A..Z}}; do
echo $letter
done