移动文件,更改权限并重命名它保持相同的扩展名
Move file, change permissions and rename it keeping the same extesion
在 Fedora 24 工作站上使用 zsh 5.2。
我想以编程方式能够:
- 移动图像文件(可以有 jpg/ jpeg/ png/ JPG/ PNG 扩展名)
从 /tmp/folder1 到 ~/图片
- 此文件将具有相同的几个初始字符 --- prefix111.jpg 或 prefix222.png 等
- 重命名文件,使 samefilename.JPG 变为 20161013.jpg
- 20161013 是今天的日期,格式为 yyyymmdd
- 注意后缀变成小写字母
- JPEG 或 jpeg 变成 jpg
- 将移动文件的权限更改为644
一气呵成。
如果有多个 prefix* 文件,该命令应该会自动失败。
我最初喜欢在命令提示符下执行此操作,并可选择稍后添加 cron 作业。我的意思是,相同的 zsh 命令/脚本可以在 cron 中运行吗?
我敢肯定,这是可行的。然而,以我有限的shell知识,只能达到:
mv /tmp/folder1/prefix-*.JPG ~/Pictures/$(date +'%Y%m%d').jpg
我的方法有很多问题。它不处理大小写,不处理不同的扩展名,也不解决权限问题。
这个怎么样:
#!/bin/sh
FILES="/tmp/folder1/prefix*.jpg /tmp/folder1/prefix*.jpeg /tmp/folder1/prefix*.png h/tmp/folder1/prefix*.JPG /tmp/folder1/prefix*.PNG"
if [ $(ls $FILES | wc -l ) -gt 1 ]; then
exit 1
fi
if [ $(ls $FILES | grep -i '\.png$') ]; then
SUFF=png
else
SUFF=jpg
fi
DEST=$HOME/Pictures/$(date +'%Y%m%d').$SUFF
mv $FILES $DEST
chmod 644 $DEST
在 Fedora 24 工作站上使用 zsh 5.2。
我想以编程方式能够:
- 移动图像文件(可以有 jpg/ jpeg/ png/ JPG/ PNG 扩展名) 从 /tmp/folder1 到 ~/图片
- 此文件将具有相同的几个初始字符 --- prefix111.jpg 或 prefix222.png 等
- 重命名文件,使 samefilename.JPG 变为 20161013.jpg
- 20161013 是今天的日期,格式为 yyyymmdd
- 注意后缀变成小写字母
- JPEG 或 jpeg 变成 jpg
- 将移动文件的权限更改为644
一气呵成。
如果有多个 prefix* 文件,该命令应该会自动失败。
我最初喜欢在命令提示符下执行此操作,并可选择稍后添加 cron 作业。我的意思是,相同的 zsh 命令/脚本可以在 cron 中运行吗?
我敢肯定,这是可行的。然而,以我有限的shell知识,只能达到:
mv /tmp/folder1/prefix-*.JPG ~/Pictures/$(date +'%Y%m%d').jpg
我的方法有很多问题。它不处理大小写,不处理不同的扩展名,也不解决权限问题。
这个怎么样:
#!/bin/sh
FILES="/tmp/folder1/prefix*.jpg /tmp/folder1/prefix*.jpeg /tmp/folder1/prefix*.png h/tmp/folder1/prefix*.JPG /tmp/folder1/prefix*.PNG"
if [ $(ls $FILES | wc -l ) -gt 1 ]; then
exit 1
fi
if [ $(ls $FILES | grep -i '\.png$') ]; then
SUFF=png
else
SUFF=jpg
fi
DEST=$HOME/Pictures/$(date +'%Y%m%d').$SUFF
mv $FILES $DEST
chmod 644 $DEST