如果我将其发布在错误的位置,我提前道歉,我对脚本编写非常陌生,更不用说 stackoverflow 了:
我有许多以以下结尾的文件.conf
与多个同名文件夹(不带后缀)位于同一目录中.conf
扩大。例如,我的目录如下所示:
136
136.conf
139
139.conf
...
我想移动.conf
使用循环将文件放入相应的文件夹中。我想我可以这样做:
for f in *.conf; do
dir=${f:0:13}
mv "$f" "$dir"
done
但我显然做错了什么。我将非常感谢任何人对此的帮助。
使用 Bash 参数扩展通过删除扩展名(任何跟在.
):
for f in *.conf; do
[[ -f "$f" ]] || continue # skip if not regular file
dir="${f%.*}"
mv "$f" "$dir"
done
这比子字符串方法好一点,因为我们不对文件名或目录名的长度做出假设。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)