Пожалуйста, не забудьте принять/проголосовать за лучший ответ на ваш вопрос (галочка/флажок слева). Таким образом, вопрос помечен как "ответил" и будущие читатели могут обратиться к нему, зная, что решение работает. Спасибо...:) @Kusalananda как указано в вопросе, я старалась имея других пользователей экспортных значение lc_all=C`, а перед запуском скрипта и он сообщил, что не изменить. @ССК что вы подразумеваете под "некоторые", а есть такое правило? Если не просто использовать `${я}/${я}_*` вместо этого. Да, я немного неуклюжий в этом. Я очень больная. Я имел в виду сбросить на файлообменник на Mac мини. Как это было раньше. Я удалил кучу вещей от варианта обмена, как общие папки. Простите, не очень понятно. Я думаю, что, возможно, придется переустановить ОС?

Следующий цикл будет обрабатывать каждый каталог в текущем каталоге в способ, что вы описали:

для dir В */; сделать
 кошка "каталог$dir"/*.тхт >"${реж%/}.тхт"
сделано

В ${Реж%/} вещь, удаляет конечные / от $Дир , который есть от Глоб матч в петлю головой.

Ошибки, которые вы получаете, вероятно, из-за написания сценария на машине с ОС Windows (с окна). Windows (и DOS) текстовых файлов есть символ возврата каретки перед символом перевода строки в конце каждой строки, в то время как текстовые файлы Unix только символ. Вы можете преобразовать скрипт в Unix и текстовый файл с помощью dos2unix полезности.