我需要在 Linux 终端中查找并移动文件,我已经成功地使用以下行完成了它
find . -name "*FILE*" -print0 | xargs -0 -I {} mv {} /FOLDER1/
但我需要的是在执行此操作之前询问您是否要移动文件,我使用 -i 标志尝试过,但它仅在要被覆盖时才有效。
要在移动文件之前要求确认,您可以创建一个简单的 shell 脚本来完成此操作:
#!/bin/bash
# Check if the number of arguments is correct
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <file> <destination>"
exit 1
fi
SEARCH_TERM="$1"
DEST_FOLDER="$2"
find . -name "*${SEARCH_TERM}*" -print0 | while IFS= read -r -d '' file; do
echo "Move file: $file to $DEST_FOLDER? (y/n)"
read -r response
if [[ "$response" =~ ^[Yy]$ ]]; then
mv "$file" "$DEST_FOLDER"
fi
done
您也可以将其添加到路径中并使其成为命令。 将其保存在
/bin
中并使用 chmod +x
确保其具有可执行权限。