我要将mv
所有以'x'开头的文件都保存到目录'x'中;就像是:
mv path1/x*.ext path2/x
并针对所有字母a,...,z执行此操作
我如何编写一个bash脚本来使字母中的“ x”循环?
Answers:
for x in {a..z}
do
echo "$x"
mkdir -p path2/${x}
mv path1/${x}*.ext path2/${x}
done
"$x"
这足以使它脱颖而出。
这是使用嵌套括号扩展生成西班牙语字母的方法
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
法国字母或德国字母也可以做类似的事情。
以及大写
for letter in {{a..z},{A..Z}}; do
echo $letter
done
这个问题和答案部分地帮助了我解决我的问题。
我需要用bash放大部分字母。
尽管扩展严格是文本性的
我找到了一个解决方案:并使它变得更加简单:
START=A
STOP=D
for letter in $(eval echo {$START..$STOP}); do
echo $letter
done
结果是:
A
B
C
D
希望它对寻找我必须解决的相同问题的人有所帮助,并且也可以在这里结束