這個命令幾乎給我我想要的: -Windows和UNIX路徑之間的轉換與SED損失雙斜線
echo "\\123.123.123.123\path1\1 - path2\path3 path4\path5" | sed 's_\\_/_g' | sed 's_ _\\ _g'
/123.123.123.123/path1/1\ -\ path2/path3\ path4/path5
但正如人們可以看到,它的開頭失去了「//」!
即,預期outout: -
//123.123.123.123/path1/1\ -\ path2/path3\ path4/path5
我缺少什麼?
編輯:不是測試echo
的(非常感謝所有誰指出了這一點)的基本原理後。我也應該在這個問題的最終遊戲中更加清楚。
我想在腳本中使用它,並在頂部定義windows路徑。
我如何echo
sed的tmp文件的路徑?
這顯然不會工作: -
WIN_PATH="\\123.123.123.123\path1\1 - path2\path3 path4\path5"
UNIX_PATH=`echo $WIN_PATH | sed 's_\\_/_g' | sed 's_ _\\ _g'`
如果我的眼睛沒有讓我失望,那就是你正在使用的反色。使用單引號。 – kurumi 2011-04-12 09:36:04
OPS,這是這裏的一個錯字,將它修改爲我的腳本,它工作正常,但不真正喜歡tmp文件!但從長遠來看,這並不重要。 – 2011-04-12 09:40:22
爲什麼你需要一個tmp文件呢? 'SOURCE_PATH = $(echo $ WIN_PATH | sed's _ \ _ _ _ _ _'_''sed's __ \'_g')' – kurumi 2011-04-12 09:44:52