Это не вывод программы, это - некоторая полезная информация об оболочке.
Так или иначе это может быть hided при помощи подоболочки и перенаправления вывода
( sleep 3 & ) > /dev/null 2>&1
ОТРЕДАКТИРОВАННЫЙ: забыл удваиваться, выходят из \r в sed
строка
любой из них должен работать на Вас
for i in $(find . -type d -name '*\r'); do mv "$i" "$(echo $i | sed -e 's/\\r//g')"; done
find . -type d -name '*\r' -exec mv "{}" "$(echo {} | sed -e 's/\\r//g')" \;
это найдет все каталоги названными * $\\r под Вашим в настоящее время каталог
это будет затем mv
(переименуйте) их к тому же имени минус \r
Linux rename
команда делает это легким:
rename $'\r' '' *
Это заменяет первый и единственный возврат каретки ($'\r'
) пустой строкой (''
) во всех именах файлов в текущем каталоге. Имена, которые не содержат возврат каретки, оставлены без изменений (или можно записать rename $'\r' '' *$'\r'
только рассматривать файлы, которые должны быть переименованы).
Если необходимо действовать на файлы в подкаталогах также:
shopt -s globstar
rename $'\r' '' **/*$'\r'
(Пользователи Debian, Ubuntu и производных: изменение rename
кому: rename.ul
, или изменение rename $'\r' ''
кому: rename 's/\r//'
.)
Альтернатива, с помощью zsh's zmv
функция:
zmv $'**/*\r' "${f%?}"
попробуйте это find . -type d -name *$'\r' -exec rm -rf '{}' \;