gpt4 book ai didi

ruby - 用于就地多行正则表达式替换的 Shell 命令

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:56 26 4
gpt4 key购买 nike

对于单行正则表达式,您可以使用 -p$_.sub!:

$ cat file.txt
<a
a>
c
$ ruby -i -pe '$_.sub!("a", "b")' file.txt
$ cat file.txt
<b
b>
c

有没有什么捷径可以替代多行模式?我目前使用这样的东西:

$ ruby -i -e 'print *readlines.join.sub(/<.*>/m, "d")' file.txt
$ cat file.txt
d
c

最佳答案

使用 gets(nil) 可以节省多达 6 个字符:)

ruby -i -e 'print gets(nil).sub(/<.*>/m, "d")' file.txt

获取 docs :

The optional argument specifies the record separator. The separator is included with the contents of each record. A separator of nil reads the entire contents. [...]

关于ruby - 用于就地多行正则表达式替换的 Shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14666381/

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