Mac-Osx

將反斜杠文件名轉換為目錄

  • February 14, 2012

要將某些數據從 Windows 上的程序移動到 Mac 上的同一程序,該程序有一個內置的備份工具。不幸的是,他們似乎從未測試過跨平台兼容性,因為它生成的 ZIP 文件的文件名如下:

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

因此,我需要將這些反斜杠副檔名轉換為它們的等效文件夾。沒有太多差異,所以我很高興mv對它們執行命令,然後剝離開始的“文件夾” - 但這就是我卡住的地方。

關於如何刪除(例如)Data\Shared或通過基於文件名移動來快速完成的建議會很棒。謝謝

這樣的事情應該讓你改變BASE成為你想要的任何基本路徑。

#!/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 上按預期工作。

引用自:https://serverfault.com/questions/359893