gpt4 book ai didi

regex - "invalid command code ."尝试使用 grep 和 sed 替换多个文件中的字符串时

转载 作者:行者123 更新时间:2023-12-04 22:56:55 35 4
gpt4 key购买 nike

Unix(和 SO)新手在这里试图灵活我的新生命令行印章。

我正在尝试使用 grep 和 sed 来扫描我当前目录中的一堆文件,并将所有出现的字符串“192.168.1.1”替换为字符串“192.168.1.0”,同时保留 .git 文件夹。

我尝试了以下方法:

grep -lr --exclude-dir=".git" "192.168.1.1" . | xargs sed -i 's/192.168.1.1/192.168.1.0/g' 

我收到以下错误:
sed: 1: "./contact.html": invalid command code .

如果有人能帮我弄清楚我的命令有什么问题,我将不胜感激。

我也有兴趣学习一种更有效的方法来完成这项任务,特别是如果命令不那么冗长,因此更容易记住,只要它不涉及在 perl/bash/etc 中编写脚本,但我我目前正在尝试深入研究 sed 和 grep,我仍然有兴趣了解为什么即使提供了可行的替代方案,此命令也不起作用。

最佳答案

将您的 sed 命令更改为:

 xargs sed -i.bak 's/192\.168\.1\.1/192\.168\.1\.0/g'

OSX 上的 sed 需要有效的文件扩展名 -i选项。

关于regex - "invalid command code ."尝试使用 grep 和 sed 替换多个文件中的字符串时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20773897/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com