【发布时间】:2019-10-24 22:18:08
【问题描述】:
几年前,我在使用方便的 bash oneliner。它正在做类似的事情:
cat file.log && rm -f file.log | gzip -9 > file.gz
但它是逐行处理的。当驱动器上没有剩余空间时,我正在使用 in,我想在流中处理它。
我正在尝试回忆如何做到这一点,但这很难:)
【问题讨论】:
-
做什么?那个命令肯定不是你在做的;它只是输出文件一次,将其删除,然后将
rm(为空)的输出通过管道传输到gzip。 -
我知道,我搞砸了逻辑。仍在寻找正确的实施。我想过循环读取文件,但我想它可能更容易。 fe.: ` fielpath="/tmp/foo" 在读取 -r 行时声明 -i lineno=0;做回声“$line”| gzip -9 > "$filepath".gz let ++lineno sed -i "1 d" "$fielpath" done