Bash:创建将文件移动到新目录的热键吗?

时间:2016-11-10 05:14:25

标签: bash

我在目录'A'中有1000个.jpg,我需要移动到10个子目录 - 'A / 1'到'A / 10'。

我尝试打开每个图像以在将其放入子目录之前查看其内容,这个过程非常耗时。我目前在Mac上使用finder,但我试图找到一种简单的方法来做到这一点,也许是使用终端。

也许我可以在mac预览中创建执行bash mv命令的热键0-9?

1 个答案:

答案 0 :(得分:0)

是的,你会喜欢这个。

首先你必须安装iTerm2,你可以在这里找到:

https://www.iterm2.com/

(顺便说一句,我与他们无关)

iTerm2有一个名为imgcat的东西,可以在终端显示图像。

所以...打开终端并使用所有图像进入目录。 (我期待在这里的一个文件夹中有1000张图片。)

然后....复制粘贴下面的命令然后关闭你。将显示您的一个图像,您计算它们,键入面数并按Enter键。使用您键入的数字创建目录,然后将图像移动到那里。循环重复直到用完图像或按ctrl + c退出。

如果你退出,你可以启动相同的脚本并继续你离开的地方......或者稍后添加更多图像:)

while read <&5 file; do echo -$file; imgcat $file; echo enter number of faces and the hit return.; read dir; mkdir $dir; mv $file $dir/; echo file $file copied to $dir/$file; done 5< <(find . -name '*.jp*g' -d 1 -print)

同样的事情,但是以更易读的多行​​格式:(如果你想在bash文件中重击它(tedium.sh)

#!/bin/bash
while read <&5 file; do
    echo -$file;
    imgcat $file;
    echo enter number of faces and the hit return.;
    read dir;
    mkdir $dir;
    mv $file $dir/;
    echo file $file copied to $dir/$file;
done 5< <(find . -name '*.jp*g' -d 1 -print)