从正斜杠创建目录结构

时间:2015-02-13 18:42:54

标签: linux windows bash shell unix

我把一个html文件从windows机器拉到我的linux机箱上,问题是两者之间没有维护目录结构。这就是它在linux中的外观

MyReport\partition_and_timing.files\img0.jpg
MyReport\partition_and_timing.html
MyReport\protocols_cards.html
MyReport\report_title.files\img0.jpg
MyReport\report_title.html
MyReport\scripts.html

我正在考虑使用一个bash脚本,将“\”更改为“/”,基本上是一个文件夹。我猜他们是这样做的标准方法,但无法弄清楚。

这就是我正在使用的

for file in *; do mv $file echo $file | sed 's/\\/\//g' ; done

3 个答案:

答案 0 :(得分:1)

尝试mv $file ${file//\\/\/}。它用${file}中的正斜杠替换每个反斜杠。

答案 1 :(得分:1)

你必须捕获

 echo $file | sed 's/\\/\//g'

因为现在你正在将一个文件,一个名为'echo'的现有文件移动到文件中,并将(错误的)结果传递给无法处理它的sed。

答案 2 :(得分:0)

file包含您要修改的文件列表:

for f in $file; do
    cp "$f" "$f".backup
    sed -i 's/\\/\//g' $f
done

它是一个for循环,首先创建一个备份文件,然后使用sed进行就地修改。

sed的

-i意味着您要进行就地修改,因此修改将直接应用于文件。