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

如何用sed删除文件中<>内的内容?现有命令存在误删问题

解决方法:删除文件中<>之间的内容

你之前的sed命令误删内容,是因为它匹配了https到行尾的所有字符,会连带删掉同一行后续的保留文本。正确的做法是精准定位<与>包裹的区间,直接删除整个区间内容。

方案1:处理单行内的<>内容

使用sed的正则匹配<到>的完整区间,命令如下:

sed -i 's/<[^>]*>//g' 你的文件名
  • 细节说明:
    • <[^>]*>:匹配以<开头,后续所有非>的字符,直到遇到>为止的整块内容
    • g标记:确保替换每一行中所有符合条件的匹配项

方案2:处理跨行的<>内容

如果你的文件存在<和>不在同一行的情况(比如链接内容被换行分割),可以用sed的循环匹配模式:

sed -i ':a; s/<[^>]*>//g; ta' 你的文件名
  • 细节说明:
    • :a和ta:创建循环逻辑,反复执行替换操作,直到所有跨行的<>内容都被清理完毕

验证效果

用你的示例文本测试后,会得到如下结果:

texttobepreserved1
, 
texttobepreserved2 
, 
texttobepreserved3

完全保留了需要的文本,仅删除了<>包裹的冗余内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:35:23