sed - 使用 find 和 sed 查找和替换
问题描述
这篇文章分享了如何在命令行中从文件中删除 html 注释。
sed -e :a -re 's/<!--.*?-->//g;/<!--/N;//ba' file.html
我正在尝试扩展它以从目录中的所有文件中删除 html 注释,但我很难。我的一些尝试包括:
find /my/folder/plus/subfolders -name "*.html" -exec "sed -e :a -re 's/<!--.*?-->//g;/<!--/N;//ba'"
基于此,我也尝试过这种方法:
find /my/folder/plus/subfolders -name "*.html" -exec sed -i s/<!--.*?-->//g;/<!--/N;//ba {} +
我哪里错了?
解决方案
您只需要添加就地选项-i
并将文件更改为{}
.
find /my/folder/plus/subfolders -name "*.html" -exec sed -i -e :a -re 's/<!--.*?-->//g;/<!--/N;//ba' {} +
推荐阅读
- angular - 用于 div 的 formControlName
- pandas - matplotlib/pandas 中日期的内部表示不一致
- java - 带有 setOnItemSelectedListener 的微调器不执行方法
- c# - C# FtpWebRequest - 完成时挂起
- asciidoc - 如果 asciidoctor 生成警告,如何使 gradle 构建失败
- dotnetnuke - 从外部站点导航到 dotnetnuke 门户中的页面
- php - Slim api 问题在更新 routes.php 文件后没有响应
- javascript - 如何在图像上将放大镜效果和灯箱结合在一起?
- typescript - 在 monad 中使用递归 concat 方法时的 Typescript 泛型类型连接
- java - 无法在 Android 上将字符串转换为日期