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

Linux下如何提取并格式化批量md5sum文件的内容?

解决方案

直接用sed处理所有MD5文件即可,不需要xargs,核心是避开替换分隔符与路径中/的冲突,同时不要使用-i参数(你需要的是输出处理后的内容,而非修改原文件):

sed 's#/home/develop/md5sums/##g' *.md5

如果坚持用管道+cat的写法,也可以这样写:

cat *.md5 | sed 's#/home/develop/md5sums/##g'

你的命令报错原因解析

  1. 第一个命令的问题:

    • xargs -0用于处理以null字符分隔的输入,这里完全没必要,反而会让sed接收错误的输入格式。
    • 替换表达式用/作为分隔符时,路径里的/会被误判成分隔符,导致sed语法混乱,触发"extra characters at the end of d command"错误。换成#这类不包含在路径中的字符作为分隔符就能解决。
  2. 第二个命令的问题:

    • sed -i是原地修改文件的参数,当你通过管道给sed传递标准输入(stdin)时,sed没有具体文件可修改,因此会报"-I or -i may not be used with stdin"错误。去掉-i,让sed直接输出处理后的内容即可。

内容的提问来源于stack exchange,提问作者Ben Holness

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:20:03