Я пишу сценарий для копирования файлов с символами, не поддерживаемыми Office365, в папку кэша на OSX перед удалением символов (эта часть опущена). Это работает за исключением файлов, таких как:
p\\ophaddy.jpg
где то же самое интерпретирует обратную косую черту как пробел и терпит неудачу по понятным причинам. Попытка выяснить наиболее эффективный способ сделать это.
find $HOME -not \( -path "$HOME/Library" -prune \) -not \( -path "$HOME/Cache" -prune \) -not \( -path "$HOME/.Trash" -prune \) -name "*[<>:/|?#%\\\]*" -exec bash -c 'x="{}" && echo $x && ditto "$x" $HOME/Cache/ ; y=$(sed "s/[<>:|?#%\\\]\+/-/g" <<< "$x") ' \;