Уважаемый @facebook ,
Представьте себе следующее дерево файлов, которое растет день ото дня.
C:\Logs
|-- 2019-04-08
| `-- log01.txt
|-- 2019-04-09
| `-- log02.txt
`-- 2019-04-10
`-- log03.txt
Чтобы уменьшить занимаемую площадь, я приказываю zstd --long --rm -r C:\Logs
тогда большие .txt
заменяются маленькими .txt.zst
, пока все хорошо.
Но завтра дерево явно будет выглядеть вот так
|-- 2019-04-08
| `-- log01.txt.zst
|-- 2019-04-09
| `-- log02.txt.zst
|-- 2019-04-10
| `-- log03.txt.zst
`-- 2019-04-11
`-- log04.txt
_И здесь кроется загвоздка, поскольку вышеупомянутая команда снова сожмет существующие_ .txt.zst
_ снова.
Текущий обходной путь: find -type f -not -iname *.zst -exec zstd --long --rm {} +
или с помощью fd от @sharkdp следующим образом fd -t f --exclude *.zst -x zstd --long --rm
Тем не менее, некоторый родной переключатель исключения будет уместен и оценен,
например, zstd --exclude *.zst --long --rm -r C:\Logs
Ты согласен?
Я не хочу добавлять поддержку поиска совпадений в zstd. Однако --exclude-suffix .zst
или, возможно, --exclude-compressed
который игнорирует ( .zst|.gz|.xz|.lz4|...
), будет полезной функцией.
T56236104 (внутреннее примечание)
--exclude-compressed
добавлен в v1.4.4
.
Самый полезный комментарий
Я не хочу добавлять поддержку поиска совпадений в zstd. Однако
--exclude-suffix .zst
или, возможно,--exclude-compressed
который игнорирует (.zst|.gz|.xz|.lz4|...
), будет полезной функцией.