Вы не хотите использовать ls
, Вы хотите использовать оболочку globbing и обработку строк:
$ for f in *.rej; do
size=$(stat --printf "%s" "${f%.rej}.failed") &&
if [ $(stat --printf "%s" "$f") -eq "$size" ]; then
mv "${f%.rej}.failed" backup/;
fi; done 2>/dev/null
stat --printf "%s"
команда распечатает размер файл в байтах. ${f%.rej}.failed
распечатает что название тока .rej
файл всего лишь с .failed
вместо .rej
расширение. Если тот файл существует, то size=$()
выйдет правильно, и сценарий продолжится (&&
). Так, если $size
из .failed
файл совпадает с размером .rej
файл, затем .failed
файл будет перемещен в каталог backup/
.
Попробуйте скачать xzoom. Он есть в репозиториях и легче для вашей системы, чем kmag.