0
A
回答
4
最简单的解决方案是使用bash
的延长图案的语法。
shopt -s extglob
sed -i '/192.168.1.1/d' !(test.sh)
模式!(test.sh)
匹配一切除了test.sh
。
+0
是否需要启用以'禁用了javascript -s extglob'? –
+2
是的;否则,你会因为出现一个语法错误而抱怨一个意外的'('在'!'后面,因为它不希望子shell在那里启动。 – chepner
相关问题
- 1. Sed脚本 - 删除行
- 2. 排除来自sed选择的'#'评论
- 3. sed排除目录
- 4. 删除Java脚本使用sed的
- 5. sed in perl脚本
- 6. Bash脚本sed -e
- 7. 脚本故障排除
- 8. iPhone,iPad脚本排除
- 9. SED不排除外卡
- 10. sed脚本从区域
- 11. Sed脚本分支问题
- 12. 自然排序VB脚本
- 13. 使用sed的shell脚本
- 14. SED bash脚本援助
- 15. javascript替代sed脚本
- 16. bash脚本中的sed脚本
- 17. Linux的shell脚本的sed
- 18. bash脚本中的sed regexp
- 19. escapping的脚本中的sed
- 20. 转换SED CMD行脚本
- 21. Bash脚本和引用SED
- 22. 错误SED在bash脚本
- 23. Shell脚本使用SED
- 24. SED中找到/ PHP脚本
- 25. 与sed的Bash脚本
- 26. shell脚本SED替代
- 27. 自我删除bash脚本
- 28. 结合SED和排序命令在bash脚本
- 29. 来自bash脚本的7z不会排除目录
- 30. 优化sed/tr外壳脚本
你可以只把脚本在不同的目录。 – Barmar
我可以,但我正在使用ADS隐藏在calc.exe中的自动化过程,我很懒,所以我宁愿它只是在同一个目录中 – Daniel
您应该使用'sed -i'/ 192 \ .168 \ .1 \ .1/d'*',以便它不符合'192.168.101.44',并且另外看看如何定位它以避免匹配'192.168.1.13'。这会产生不触发错误的奇怪副作用(尽管您也应该使用chepner的解决方案)。 –