Якщо ви використовуєте bash як оболонку, це просте завдання для конвеєра оболонки.
ls | grep '\.out$' | while read file; do echo mv "$file" "${file%.*}"; done
ls створює список файлів у каталозі.
grep '\.out$' витягує назви файлів, які закінчуються .out, і відкидає решту.
while read file читає назви файлів по черзі.
echo mv "$file" "${file%.*}"відображає, але не виконує команду mv, яка б перейменовувала кожен файл у версію без його розширення. ${file%.*}Бізнес Баш синтаксис для зачистки від розширення файлу. Коли ви переконаєтесь у тому, що трубопровід зробить те, що ви хотіли, якби він був запущений по-справжньому, видаліть echoдеталь і дайте їй працювати реально.
ls | grep '\.out$' | while read file; do mv "$file" "${file%.*}"; done
program.outв сценарії.