我试图在文件中转换此模式
Insert 18333fig0101.png
Figure 1-1. Local version control diagram.
到
![Figure 1-1. Local version control diagram.](../figures/18333fig0101-tn.png)
这是perl命令:
perl -i -0pe 's/^Insert\s*(.*)\.png\s*\n([^\n]*)$/!\[\2](..\/figures\/\1-tn.png)/mg' */*.markdown
这在Mac OS X上运行良好,但它在Windows 10上不起作用。
我使用pacman -S perl
中的MSYS2
安装了perl。
这也不是\r\n
问题,因为我检查了文档中没有\r
。
这是Windows上的已知问题吗?或者,Windows需要哪些不同的选项?
答案 0 :(得分:1)
当我运行相同的命令(将单引号更改为双引号后)时,收到以下错误消息:
无法在没有备份的情况下进行就地编辑。
perldiag中记录了这一点:
如果你尝试,你在MS-DOS等系统上会感到困惑 从已删除(但仍然打开)的文件中读取。你必须说
-i.bak
或其他一些。
当我将命令更改为perl -i.bak ...
时,它可以正常工作。