Читать строку> сжать ее> удалить строку с bash - PullRequest
0 голосов
/ 25 октября 2019

Несколько лет назад я использовал удобный bash oneliner. Он делал что-то вроде:

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

Но это было скорее обработано построчно. Я использовал, когда на диске не осталось места, и я хочу обработать его в потоке.

Я пытаюсь вспомнить, как это сделать, но это довольно сложно:)

1 Ответ

0 голосов
/ 05 ноября 2019

Ответ:

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"

, но все еще обдумываю, как сделать это как удобный вкладыш

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...