我在Windows中有这个命令行输入:
dir /b | ruby -ne 'f=$_.chomp;File.read(f).each_line{|line| print f if line =~ /helloworld/};'
Run Code Online (Sandbox Code Playgroud)
这一行是为了查找当前目录下的所有文件helloworld
.(我知道有很多其他方法可以做到这一点,但帖子并没有关注那个)
我的问题是:
这条线给出了错误说法line is not a valid command
.然后我|
在Ruby中意识到块变量的支撑是cmd中的管道符号.我试图将整行改为双引号并逃避| 签字但没有成功.如何逃离垂直条|?
请不要回答其他方法来执行任务,例如使用其他工具,如grep,find,sed或awk,或将块更改为for循环.
Gor*_*McD 11
我发现这个microsoft.com页面上有关于管道和特殊字符的说明:
和号(&),管道(|)和括号()是特殊字符,当您将它们作为参数传递时,必须以转义字符(^)或引号开头.
归档时间: |
|
查看次数: |
3315 次 |
最近记录: |