经过大量搜索和反复试验,我无法进行批量处理mv
or rename
在文件目录上。我想做的是移动或重命名目录中的所有文件,以便mv
'd or rename
d 文件有$date (+ '%Y%d%m')
添加到原来的后缀。
所有原始文件都有唯一的前缀,但要么.xml
or .txt
所以我想从org_prefix.org_suffix
-> org_prefix.org_suffix.DATE
我试过这个:
$ mv /directory/* /directory/*$(date (+ '%Y%m%d')
但总是得到/directory/*.actualdate' is not a directory
error.
我试过这个:
$ for f in *; do mv $ $f.$(date +'_%m%d%y'); done
但我得到mv: cannot stat '$'; No such file or directory
最后,我什至尝试过这个:
$ rename 's/*/.test/' *
只是想看看我是否可以将所有文件更改为org_prefix.test
但什么也没发生(没有错误,nada,zip)
非常感谢任何帮助。
循环遍历当前目录中的文件(例如,打印它们的名称)的正确方法是:
for file in *; do
echo "$file"
done
您将如何附加日期?当然,像这样:
for file in *; do
echo "$file.$(date +%Y%m%d)"
done
你打算如何搬家?当然,像这样:
for file in *; do
mv -nv -- "$file" "$file.$(date +%Y%m%d)"
done
我已经添加:
-
-v
以便mv
详细一些(我想知道发生了什么,看着屏幕上流动的所有这些线条总是让我的小妹妹印象深刻)。
-
-n
以免覆盖其他现有文件。安全第一。
-
--
以防万一文件名以连字符开头:不带--
, mv
会与选项混淆。安全第一。
如果您只想查看扩展名的文件.banana
, 更换for
with:
for file in *.banana; do
of 对于包含该单词的文件banana
:
for file in *banana*; do
等等。
继续关注香蕉吧!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)