У меня небольшая проблема с очень упрямой ошибкой во время rsync. Это вызвано файлом со специальным символом в имени файла. Были и другие, но я мог бы разобраться, выполнив некоторые преобразования в кодировке имени файла. Однако этот файл я даже не могу найти.
Итак, вот что говорит rsync:
../.\#033OA.tex.pyD0MB" failed: No such file or directory (2)
Первое, на что нужно обратить внимание, это то, что код символа не может быть шестнадцатеричным или восьмеричным, поэтому я его погуглил и нашел только это . Так что это может быть CURSOR UP
персонаж (или нет). я пробовал
ls -la *`printf '\033OA'`*
но безрезультатно. Я также попытался прокрутить вывод ls этого каталога, od
но безрезультатно.
Что еще я могу сделать? Или какого персонажа я ищу в любом случае?
Спасибо
ls -b
, что должно показать побеги в стиле CОтветы:
Вы можете использовать
-b
опцию tols
, которая показывает неграфические символы как escape-последовательности в стиле C.источник
ls -aq
напечатает все имена файлов,?
вместо каждого непечатаемого символа. Во многих вариантах Unix,ls -AB
илиls -Ab
(проверьте страницу руководства) будет печатать восьмеричные escape-символы. С помощьюls -aq
вы можете использовать отображаемый вывод в качестве шаблона оболочки.Другой способ получить имя файла - использовать завершение вашей оболочки: вводите
mv .
и нажимайте Tabнесколько раз, пока не будет введено странное имя.источник
ls -q
не показал файл, тогда какls -b
сделал. возможно, потому что его имя не было,[weird-character]OA.tex
но на самом деле`printf %b '\033OA'`.tex
.
начале имени файла есть точка , так что вам нужноls -Aq
илиls -aq
. И если вы используете подстановочные знаки оболочки, вам нужно сделать.
явное:*
не будет включать файл, но.*
будет.$DESTINATION/.$FILENAME
прежде чем переместить файл на правильное имя. Поэтому в источнике файл не имел.
в начале своего имени. Также, как сказано,ls -q
не показал бы файл, тогда какls -b
сделал.