Как проигнорировать файлы, если существует подобный файл с тем же размером?

Если Вы действительно не заботитесь о людях, соединенных через ssh или подобных, просто проверьте количество прерываний genereated клавиатурой. На моем ПК это находится в/proc/interrupts как i8042. Я думаю, что у Вас будет некоторый более сложный рабочий процесс, если у Вас будет клавиатура USB.

Чтобы проверить, соединен ли кто-либо все еще с менеджером окон, просто проверьте, работает ли/usr/bin/Xorg, не считая экрана входа в систему DM.

1
11.12.2013, 01:33
1 ответ

Вы не хотите использовать 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/.

2
27.01.2020, 23:38

Теги

Похожие вопросы