gpt4 book ai didi

linux - 在没有临时(中间)文件的情况下处理同一文件

转载 作者:太空狗 更新时间:2023-10-29 11:37:17 26 4
gpt4 key购买 nike

我正在使用 awk 对文件进行一些文本处理。例如删除尾随空格。

awk '{gsub(/ +$/, "")} {print $0}' filename

这很好用。但是当我将输出重定向到原始文件时。它变成一个空文件。

temp$ awk '{gsub(/ +$/, "")} {print $0}' abc > abc
temp$ cat abc
temp$

所以我尝试了另一种方式。使用 cat 和 pipe 而不是 awk 的输入参数。

temp$ cat abc | awk '{gsub(/ +$/, "")} {print $0}' abc > abc
temp$ cat abc
temp$

还是不行。有没有一种方法可以在不涉及中间文件的情况下实现相同的目标?

最佳答案

您可以使用 sed -i 并且 sed 会为您处理

例子:

sed -i 's/[ \t]*$//g' file

关于linux - 在没有临时(中间)文件的情况下处理同一文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27532123/

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