You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

grep无匹配结果时移动文件的脚本出现mv错误,求解决方案

解决建议

1. 修复grep命令的语法错误

你的grep命令里多了一个多余的空字符串参数'',这会导致grep尝试读取一个不存在的空文件名,进而始终返回非零退出码,触发mv执行。正确的命令应该是:

grep -iq "$file" /desktop/list/varlogs.txt

修正后的完整脚本:

for file in *.sup
do 
   grep -iq "$file" /desktop/list/varlogs.txt || mv "$file" /desktop/first;
done

2. 确保目标目录存在

如果/desktop/first目录不存在,mv命令会把文件重命名为first而不是移动到目录中。如果目标已经是一个文件,后续移动其他文件时就会报错。提前创建目录可以避免这个问题:

mkdir -p /desktop/first

把这行代码加到脚本的最开头即可。

3. 检查权限与文件名

  • 确认你对当前目录下的.sup文件有读写权限,对/desktop/first目录有写入权限。
  • 如果错误提示中的first是某个.sup文件的名字,检查/desktop/first目录下是否已经存在同名文件,若存在可以先删除或重命名。

内容的提问来源于stack exchange,提问作者Minarcio Cura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:40:34