2014-08-27 81 views
0

我想在Windows中使用findutil/sed/grep来查找所有驱动器中的特定文件,在该文件中查找子字符串并将其替换为新的子字符串。find/sed找到一个文件并替换一个子字符串

从我的工作中,我必须一次完成一个驱动器,然后cd到下一个驱动器并再次运行。我也对'exec'缺少一个参数。

C:\findutils\bin\find ./ -name "particularfile.abc" -type f -exec "C:\SED\bin\sed.exe" -i -e 's/Old_String_Is_A_Url_With_/_ForwardSlash_in_it/New_String_Will_Have_Old_String_With_:PortNumber_Added/g' {} \; 

任何人都可以帮我解决这个问题吗?

感谢

+0

不能与你的'exec'问题帮助,但一个普通的unix find会得到一个开始路径的列表,试试'find c:\ path \ to \ start d:\ path \ to \ start ... -name ...'。祝你好运。 – shellter 2014-08-27 23:30:14

回答

1

尝试使用不同的分隔符,sed中可以使用比正斜杠其他东西替代:

sed 's/string/changed/'相同sed 's#string#changed#'

相关问题