gpt4 book ai didi

ruby - 如何使用 Ruby 的命令行就地编辑模式从文本文件中删除行

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:57 25 4
gpt4 key购买 nike

我很长时间以来都是 perl 用户,在 perl 中,您可以像这样轻松地从文本文件中删除行:

perl -pi -e 'undef $_ if m/some-condition/' file.txt

我正在尝试将我的脚本移动到 Ruby,它也可以进行就地编辑,所以我这样写:

ruby -pi -e '$_ = nil if $_ =~ /some-condition/' file.text

但这反而使整个文件无效。然后我尝试了

ruby -pi -e 'nil if $_ =~ /some-condition/' file.text

但这并没有做任何事情。

有什么想法吗?

最佳答案

ruby -pi -e '$_ = nil if $_ =~ /some-condition/' file.text

应该是正确的。如果它不起作用,则问题出在 some-condition 中。为了演示,

echo -e "a\nb\nc" > x ; ruby -pi -e '$_ = nil if $_ =~ /b/' x ; cat x

打印

a
c

关于ruby - 如何使用 Ruby 的命令行就地编辑模式从文本文件中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23058986/

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