首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    macOS:sed -i报错:sed: 1: “xxxxx“: extra characters at the end of p command

    如下,执行sed对文件中的字符串进行替换,在Linux下是一点问题没有的。...简言之,就是BSD/macOS 的sedlinux(GNU)下的sed 对于-i参数的处理有微小的差异。...-i 即inplace,即对文件原地修改,-i 后面可以指定一个后缀,比如(mscOS) -i .bak,或在linux下 -i.bak 即修改原文件并保存一个后缀为.bak的修改前的备份 如下是Linux...上面的说明可以看出区别Linux下-i 参数后面的[SUFFIX]是可选的(且与-i之间没有空格),如果不指定就不会备份 而macOS下-i参数后面的extension(扩展名,后缀)是必填参数(且与...-i 原地修改,而又希望在Linux和macOS下都能正常使用,推荐如下方式做一个替换: # 定义sed -i 参数(数组) # Default case for Linux sed, just use

    1.5K10

    linux sed命令使用

    、排除指定行输出、非连续行输出、行替换显示,指定行后面添加内容 行数据替换,通配符,指定行范围 直接修改文件内容 ---- -i:直接修改读取文件的内容,而不是由屏幕输出。...(-i,n用的多些) 动作 ’n1,n2 function’ (其中n1-n2为function处理范围,function参数: [ acdips ]) -a:新增,-a后面接字符串...-i:则是上一行 -c:替换n1-n2行为c后面的字符串。 -d:删除n1-n2行字符串。...’ 替换指定行,例如替换30-40行 sed '30,40 s/version/story/g' myfile.txt i 忽略大小写替换 sed 's/version/story/gi' myfile.txt...直接修改文件内容 ---- sed -i 's/src/dst/g' filename 例子:将文档的每一句的最后的 . 改为 ! ? 如果转载请在下面留言, 尊重别人的劳动成果!

    4.9K20

    linux sed命令使用

    Linux系统中,sed命令是一种非常强大和灵活的工具,可以帮助用户进行多种文本操作,如文本替换、删除、插入、打印等等。...下面是sed命令的详细介绍和使用示例: 命令格式 sed命令的基本格式为: sed [选项] '动作' 文件名 其中,选项用于指定sed的行为,动作则是对文件进行的操作,文件名表示需要处理的文件。...常用选项 sed命令有一些常用选项,这里列举一些常用的: -n:不自动打印模式空间的内容,只有在命令中显式指定打印时才会打印; -i:在原文件中直接修改,而不是输出到标准输出或指定文件中; -e:允许对文件进行多个编辑动作...插入操作的格式为: sed '行号i\ 插入的内容 ' 文件名 其中,i表示插入操作。...例如: $ cat test.txt line 1 line 2 $ sed '2i\ new line ' test.txt line 1 new line line 2 上面的命令将new line

    3.8K10

    Linuxsed命令

    Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。...d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);p :打印,亦即将某个选择的数据印出。...Linux test 使用sed命令后,输出结果如下:$ sed -e 4a\newline testfile #使用sed 在第四行后添加新字符串 HELLO LINUX!...zhihu-weibo-:q:q利用 sed 直接在 regular_express.txt 最后一行加入 # This is a test:[root@www ~]# sed -i '$a # This...sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?

    4K10

    带有-i选项的sed命令在Linux上执行成功,但在MacOS上失败

    问: 我已经成功地使用以下sed命令在Linux中搜索/替换文本: sed -i 's/old_string/new_string/g' /path/to/file 然而,当我在Mac OS X上尝试时...答: 在 Linux 系统上使用命令 man sed 查看手册, NAME sed - stream editor for filtering and transforming...最终结果是,每个文件都由一个单独的 sed 实例编辑。可见 -i 后面是必选参数 extension,不写上扩展名参数就会报错,于是命令执行失败。...如果要同一个命令在两种系统上都成功执行,可写成: sed -i'' -e 's/old_string/new_string/g' /path/to/file #或者 sed -i'.bak' -e 's.../old_string/new_string/g' /path/to/file 测试过的系统: linux 5.4.0-131-generic #147-Ubuntu Darwin Kernel Version

    32040

    Linux sed命令的应用

    Linux Sed命令在工作中的使用 一个线上问题的引发的思考 昨天在处理一个日常运维工单的时候,出现了一个问题,大概是这样的:快到双十一了,公司需要拓展业务,开发的同事想要在一个数据库里面的所有表中添加几个字段...} ]] do echo ${startdate}cat /home/yeyz/create_sql.sql >> /home/yeyz/alter_table.sqlsed -i...回过头来再看这个脚本,这个脚本中最重要的一句是: sed -i "s/20181028/${startdate}/g" /home/yeyz/alter_table.sql 这句话的linux里面的sed...命令,它的目的是在文件中的每一行去匹配20181028,然后用startdate去替换它,它的语法是: sed -i "s/旧名称/新名称/g" file 是不是感觉这个命令的功能很强大?...这个命令还有很多其他的功能,明天把sed这个命令详细讲一讲吧。

    2.4K30
    领券