Вы выполняете "awk '{print $ 5}'", который принимает на входе и печатает только столбец 5, который в вашем случае - "etime", с этого момента все потеряно.
Если ваша система поддерживает etimes (обратите внимание на s на конце), вы можете легко сделать это с помощью
ps -eo pid,etimes,etime,comm,user,tty | awk '{if ( $2>10800) print $0}'
в системе, не поддерживающей etimes, которая имеет стандартный вывод etime, например, чч: мм: сс или просто мм: сс, если не прошло ни одного часа
ps -eo pid,etime,comm,user,tty | awk '{seconds_old=10800 ; split($2,a,":",sep) ; if(length(a) < 3) b = (a[1] *60) + (a[2]) ; else b=((a[1]*3600) + (a[2] *60) + (a[3])) ; if(b > seconds_old ) print $0}'
Настройте «seconds_old», чтобы изменить возраст, для которого вы хотите проверить:
Существуют различные другие способы сделать это, используя Find, например: объяснено здесь: https://serverfault.com/questions/181477/how-do-i-kill-processes-older-than-t
Однако решение должно соответствовать ожидаемому результату