sed 修改文件不成功

$ sed -i -e 's#[0-9]\{1,\}#666#' 'E:\AutomationTest\New.txt'
sed: cannot rename ./sedvmh44O: Invalid cross-device link

knock knock 有木有大佬

貌似跨盘操作不允许替换文件,如果想替换文件,当前位置和目标位置需要在一个盘;或者把-i去掉,不替换文件。。

gitb bash里对文件的路径一般是用/e/…表示e盘文件的。不知道你的文件类型是否是特殊的,你可以按照楼上同学说的办法,不用-i,先修改并重定向到其他文件里,然后再用cp替换就可以了

sed -i 's#[0-9]\{1,\}#666#' '/e/AutomationTest/data.yml'

成功啦,谢谢