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

如何用单条命令处理Errors.txt生成指定格式的mv命令行

如何用单条命令处理Errors.txt生成指定格式的mv命令行

嘿,这个需求用awk来实现最顺手了,单条命令就能搞定所有文本处理步骤,不用拼接一堆复杂的管道。直接用下面这条命令就行:

awk '{
    # 替换每行开头的"Error in File "为"/mnt/HD"
    sub(/Error in File /, "/mnt/HD", $0);
    # 保存处理后的原始路径
    original = $0;
    # 复制路径并替换最后4个字符为".webp"
    modified = original;
    sub(/....$/, ".webp", modified);
    # 输出最终的mv命令格式,给路径加上双引号
    print "mv \"" original "\" \"" modified "\""
}' Errors.txt

命令拆解(怕你以后需要调整):

  • sub(/Error in File /, "/mnt/HD", $0):把当前行里的Error in File 替换成/mnt/HD,处理完后当前行就是/mnt/HD/Test1/A.png这种格式。
  • original = $0:把处理好的原始路径存到变量里,方便后面复用。
  • sub(/....$/, ".webp", modified):匹配行尾的4个字符(比如.png或.jpg),替换成.webp,得到新的目标路径。
  • print "mv \"" original "\" \"" modified "\"":按照要求的格式输出mv命令,用转义的双引号把路径括起来,避免空格等特殊字符出问题。

如果想把结果直接保存成可执行的脚本文件,只需要加个重定向就行:

awk '{
    sub(/Error in File /, "/mnt/HD", $0);
    original = $0;
    modified = original;
    sub(/....$/, ".webp", modified);
    print "mv \"" original "\" \"" modified "\""
}' Errors.txt > mv_commands.sh

之后执行chmod +x mv_commands.sh就能直接运行这个脚本批量重命名文件啦。

备注:内容来源于stack exchange,提问作者Kryptonyx

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 11:48:14