commit f75476f6460c68196c06d5afbdc185b813dd6694 Author: Artem Bliznetsov Date: Fri Feb 23 13:00:43 2024 +0300 first commit diff --git a/file_rewriter/file_rewriter b/file_rewriter/file_rewriter new file mode 100755 index 0000000..b768256 --- /dev/null +++ b/file_rewriter/file_rewriter @@ -0,0 +1,17 @@ +#!/bin/bash + +# Программа для переписывавания файлов по переданному пути на те же места +# полезно в некоторых файловых системах4 например ZFS, когда меняешь параметры сжати и дедупликации +# они не применяются на имеющиеся файлы и требуется перезаписать их в файловую систему + +FILE_TMP_SUFFIX='file_rewriter' + +_rewrite_file () { + TMP_PATH=${1}_${FILE_TMP_SUFFIX} + cp $1 $TMP_PATH + rm $1 + mv $TMP_PATH $1 + return 0 +} +export -f _rewrite_file +find $1 -type f -print -exec bash -c '_rewrite_file "$0"' {} \;