几年前,我在使用便捷的bash oneliner。它正在做类似的事情:
cat file.log && rm -f file.log | gzip -9 > file.gz
但是它是逐行处理的。我正在使用的驱动器上没有空间了,我想在流中对其进行处理。
我正想着要怎么做,但这很困难:)
答案 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"
但仍在考虑如何方便地使用它