私はWindowsでこのコマンドライン入力を持っています:
dir /b | ruby -ne 'f=$_.chomp;File.read(f).each_line{|line| print f if line =~ /helloworld/};'
この行は、現在のディレクトリの下にあるすべてのファイルを検索するためのhelloworld
ものです。(これを行うには他にも多くの方法があることを理解していますが、投稿はそれに焦点を当てていません)
私の質問は:
この行は、と言ってエラーを出しline is not a valid command
ます。次に|
、Rubyで、ブロック変数のブレースがcmdのパイプサインであることに気付きました。行全体を二重引用符で囲み、|をエスケープしようとしました。署名するが成功しない。どうすれば垂直バーを脱出できますか|?
grep、find、sed、awkなどの他のツールを使用したり、ブロックをforループに変更したりするなど、タスクを実行する他の方法に答えないでください。