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

如何移除文件夹及子目录下所有JS文件中指定模式后的内容?

解决方法

要实现移除指定文件夹及其子文件夹下所有.js文件中,第一次匹配到指定模式后所有内容(包括模式所在行的模式部分及后续所有行),可以使用以下组合命令:

find . -type f -name '*.js' -exec sed -i.bak '/PATTERN/ { s/PATTERN.*//; q; }' {} \;

命令说明:

  • find . -type f -name '*.js':遍历当前目录及子目录下所有.js文件
  • sed -i.bak:对文件进行原地修改,同时生成.bak后缀的备份文件(如果不需要备份,GNU sed可改为-i,BSD/macOS sed需改为-i '')
  • /PATTERN/ { ... }:仅对包含指定模式的行执行花括号内的操作
    • s/PATTERN.*//:删除该行中PATTERN及之后的所有内容,保留模式前的文本
    • q:处理完该行后立即退出sed,直接丢弃后续所有行

匹配精确模式(可选)

如果需要匹配完整的单词(避免部分匹配),可以给模式加上单词边界:

find . -type f -name '*.js' -exec sed -i.bak '/\<PATTERN\>/ { s/\<PATTERN\>.*//; q; }' {} \;

效果验证

针对你提供的示例文件:

原文件内容:

aasdja
asdasd PATTERN ajkhsdasjd
akjshdaskjhd

执行命令后,文件内容将变为:

aasdja
asdasd 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:25:00