【问题标题】:Delete a string from all files in a directory从目录中的所有文件中删除一个字符串
【发布时间】:2014-04-09 02:50:59
【问题描述】:

我正在寻找一种工具/命令来从目录中的所有文件中删除字符串“http://”。我在我的 MacOS 上使用以下命令,但无法完成任务。

grep -lr --exclude-dir=".git" -e "http://" . | xargs sed -i "" "s/"http:\/\/"//g"

我在命令行上收到以下错误:

sed: RE 错误:非法字节序列

请帮忙。提前致谢。

【问题讨论】:

  • 看右边的相关问题:stackoverflow.com/questions/19242275/…
  • 这似乎是 Linux 的解决方案。我在 MacOS 中寻求解决方案。另外,我不确定该命令是否完全正确。
  • 你试过find . -type f -exec sed -i "" 's|http://||g' {} \;

标签: bash sed


【解决方案1】:

双引号字符串中有双引号。试试

grep ... | xargs sed -i "" 's@"http://"@@g'

s/// 使用不同的分隔符以避免倾斜牙签综合症。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多