将斜杠文件名称转换回目录

要将某些数据从Windows上的程序移动到Mac上的相同程序,该程序具有内置的备份工具。 不幸的是,他们似乎从未testing跨平台兼容性,因为它生成的ZIP文件的文件名为:

Data\Shared\filename.extension Data\Users\Ashley\filename.extension etc etc 

所以,我需要将这些反斜杠扩展名转换为相应的文件夹。 没有太多的差异,所以我很乐意对他们做一个mv命令,然后剥离开始的“文件夹” – 但这就是我卡住的地方。

有关如何删除(例如) Data\Shared或通过基于文件名移动快速完成的build议将非常有用。 谢谢

像这样的东西应该让你去改变BASE是任何你想要的基本path。

 #!/bin/bash BASE="/tmp" for file in * do nf=$(echo "$file" | sed 's|\\|/|g') filename=$(basename "$nf") path=$(dirname "$nf") mkdir -p "$BASE/$path" cp "$file" "$BASE/$path/$filename" done 

我在Linux系统上敲了这个,但我希望它能在OSX上按预期工作。