当前位置: 技术问答>linux和unix
shell 脚本初级问题,大家指教。
来源: 互联网 发布时间:2016-06-26
本文导语: 一个目录下存在 a1 a2 .... an 个文件夹,要求将其重命名为 b1 b2 .... bn 请问要如何做,先谢了。 | for file in $(ls a* -d) do mv $file b${file#a} done 好多分啊 | ${file#a}...
一个目录下存在
a1 a2 .... an
个文件夹,要求将其重命名为
b1 b2 .... bn
请问要如何做,先谢了。
a1 a2 .... an
个文件夹,要求将其重命名为
b1 b2 .... bn
请问要如何做,先谢了。
|
for file in $(ls a* -d)
do
mv $file b${file#a}
done
好多分啊
do
mv $file b${file#a}
done
好多分啊
|
${file#a} 从file的头部开始删除与a匹配的最小部分,返回剩余部分
${file##a} 从file的头部开始删除与a匹配的最大部分,返回剩余部分
把#替换为%还可以从尾部形如匹配
${file##a} 从file的头部开始删除与a匹配的最大部分,返回剩余部分
把#替换为%还可以从尾部形如匹配
|
$表示取值,类似C中的*
{}有时不是必须的,比如$A表示取变量A的值,有时不打{}会有歧义,所以也可以写成${A}。
{}有时不是必须的,比如$A表示取变量A的值,有时不打{}会有歧义,所以也可以写成${A}。
|
运行了一下,这个脚本连同文件名为a*的文件一同修改了。
|
利用grep使用正则表达式解决这个