bash - 从子目录中的所有文件中删除包含带有斜杠的字符串的行
问题描述
我不小心添加了这一行:
tazadeg2018/test2018/g
通过错误使用 sed 来获取多个文件的许多方法,我只想更改多个文件中的一个单词。
现在我尝试删除包含此单词的行,例如:
find . -type f -exec sed -i 's/tazadeg2018/test2018/g//g' {} \;
但它不起作用说:sed: -e expression #1, char 28: unknown option to `s'
我想这是由于许多在 sed 中具有特殊含义的正斜杠。因此,如果有人知道如何在多个文件中删除这一行,我会非常高兴:)
解决方案
您收到此错误是因为您要求 sed/
用作分隔符,并且由于您的字符串包含斜杠,它只会弄乱 sed 命令。
您不必在 sed 命令中使用 usr / ;尝试使用,
例如:
find . -type f -exec sed -i 's,tazadeg2018/test2018/g,,g' {} \;
推荐阅读
- javascript - 有没有办法将来自 React 中的 API 的响应值映射到一些预定值,然后确定渲染什么?
- tfs - 将 TFS 从 2015 更新 3 更新到 2015 更新 4
- c# - 错误“该进程无法访问文件'fileDir',因为它正被另一个进程使用。” 在尝试读取或写入文本文件时
- c - 函数指针处理程序
- amazon-web-services - S3 到 Redshift - 跨账户加密数据问题
- excel - 如何根据 Excel 单元格值搜索共享邮箱?
- azure-iot-sdk - Azure Sphere MT3620 稍后重试以发送到 IoT 中心
- cluster-computing - 我正在努力使用集群 nifi 进行负载平衡
- javascript - onClick 中的嵌套函数调用未触发
- docker - Nginx:根据位置通过HTTPS到不同的目标