【发布时间】:2017-12-13 15:11:27
【问题描述】:
我正在构建一个使用 Angular Material 设计包的网站。最近一次更新后,该包更改了许多 CSS 样式类的名称,从而破坏了旧代码。该软件包提供了一个命令,可以运行该命令以用新名称 (source) 替换 .css 和 .scss 文件中的所有旧名称实例:
find . -type f -name "*.scss" -o -name "*.css"| xargs sed -i 's/\.md-/\.mat-/g'
我认为这是为了将项目目录和子目录中的样式文件中的所有.md- 替换为.mat-。在确保我可以在我的 Windows 机器上运行 find 和 xargs 之后,我尝试运行该命令。这是我得到的:
C:\project>find . -type f -name "*.scss" -o -name "*.css"| xargs sed -i 's/\.md-/\.mat-/g'
File not found - "*.css"
sed: no input files
C:\project>find . -type f -name "*.scss"| xargs sed -i 's/\.md-/\.mat-/g'
Access denied - .
File not found - -TYPE
File not found - F
File not found - -NAME
sed: no input files
以管理员身份运行没有任何区别。我不知道从这里去哪里。怎么了?在 Windows 7 上是否有其他方法可以做到这一点?
【问题讨论】:
-
Windows
find是一个与 *nixfind截然不同的应用程序/命令。 -
在命令提示符下键入
find /?会显示 Windows find 不接受任何这些参数,这强烈表明您没有运行 Windows 版本的文件。联系给你命令的人,并要求他们为你的操作系统提供正确的版本。 -
@zwer 谢谢!这使我找到了正确的答案。如果没有其他人写,我会写下来。
标签: windows sed command-line