从终端复制文件,并在复制每个文件之前显示确认消息

从终端复制文件,并在复制每个文件之前显示确认消息

我想将文件从一个文件夹复制到另一个文件夹,但我想让终端在复制每个文件之前要求确认复制文件。有什么办法吗?

我知道有,cp -i但那只是在覆盖之前询问。

答案1

find您可以使用命令的谓词实现某些操作-ok

   -ok command ;
          Like  -exec but ask the user first.  If the user agrees, run the
          command.  Otherwise just return false.  If the command  is  run,
          its standard input is redirected from /dev/null.

例如

$ find . -maxdepth 1 -mindepth 1 -name '*.jpg' -ok cp -t ../newdir {} \;
< cp ... ./aaa.jpg > ? y
< cp ... ./aaa-small.jpg > ? n
< cp ... ./bbb.jpg > ? n
< cp ... ./ccc-small.jpg > ? y
< cp ... ./ccc.jpg > ? y
< cp ... ./bbb-small.jpg > ? n

$ ls ../newdir
aaa.jpg  ccc.jpg  ccc-small.jpg

相关内容