读取行>压缩>用bash删除行

时间:2019-10-24 22:18:08

标签: bash gzip

几年前,我在使用便捷的bash oneliner。它正在做类似的事情:

cat file.log && rm -f file.log | gzip -9 > file.gz 

但是它是逐行处理的。我正在使用的驱动器上没有空间了,我想在流中对其进行处理。

我正想着要怎么做,但这很困难:)

1 个答案:

答案 0 :(得分:0)

后背是:

fielpath="/tmp/foo"
declare -i lineno=0
while read -r line; do
        echo "$line" | gzip -9 >> "$filepath".gz 
        let ++lineno
        sed -i "1 d" "$fielpath"
done < "$fielpath"

但仍在考虑如何方便地使用它