Если вы используете -1
вместо -l
для ls, вы получите только имена файлов и сможете передать их непосредственно в rm. Я бы использовал что-то вроде этого:
rm $(ls -1tr process_name.hostname.common_text.log.error* | head -n -1) \
$(ls -1tr process_name.hostname.common_text.log.info* | head -n -1) \
$(ls -1tr process_name.hostname.common_text.log.warning* | head -n -1)