gpt4 book ai didi

unix - 使用grep进行就地处理

转载 作者:行者123 更新时间:2023-12-03 10:40:34 26 4
gpt4 key购买 nike

我有一个脚本,该脚本调用grep处理文本文件。目前,我正在做这样的事情。

$ grep 'SomeRegEx' myfile.txt > myfile.txt.temp
$ mv myfile.txt.temp myfile.txt

我想知道是否有任何方法可以进行就地处理,例如将结果存储到相同的原始文件中,而无需创建临时文件,然后在处理完成后将其替换为临时文件。

当然,我欢迎您评论为什么应该或不应该这样做,但是我主要对是否可以这样做感兴趣。在此示例中,我使用的是 grep,但是我通常对Unix工具感兴趣。谢谢!

最佳答案

Perl具有-i开关,sedRuby也是如此

sed -i.bak -n '/SomeRegex/p' file

ruby -i.bak -ne 'print if /SomeRegex/' file

但是请注意,它所做的只是在您认为看不到的后端创建“临时”文件,仅此而已。

除了 grep以外的其他方式

awk
awk '/someRegex/' file > t && mv t file

重击
while read -r line;do case "$line" in *someregex*) echo "$line";;esac;done <file > t && mv t file

关于unix - 使用grep进行就地处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979548/

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