2011-07-29 8 views
3

「<」という文字をエスケープする方法がわからず、「指定されたファイルが見つかりません」というエラーが表示されます。誰も助けることができますか?WindowsのPowerShellでackを使って '<'を検索するには?

Windows XPでは、PowerShellでackを使用しています。

質問ack-grep: chars escapingは私のものと非常によく似ていますが、その質問のために提示され解決された解決策は私には役に立たない。

PS C:\xampp\htdocs> ack abcd 
<works as expected> 
PS C:\xampp\htdocs> ack < 
The redirection operator '<' is not supported yet. 
At line:1 char:5 
+ ack < <<<< 
PS C:\xampp\htdocs> ack \< 
The syntax of the command is incorrect. 
PS C:\xampp\htdocs> ack '<' 
The syntax of the command is incorrect. 
PS C:\xampp\htdocs> ack '\<' 
The syntax of the command is incorrect. 
PS C:\xampp\htdocs> ack [<] 
The system cannot find the file specified. 
PS C:\xampp\htdocs> ack '[<]' 
The system cannot find the file specified. 
PS C:\xampp\htdocs> ack '[\<]' 
The system cannot find the file specified. 
PS C:\xampp\htdocs> ack \Q<\E 
The system cannot find the file specified. 

答えて

4

はあなたのPowerShellの正規表現検索を使用したくない理由はありますか?

Select-String '<' *.* 

## or 
dir -r | Select-String '<' 
+0

私はその機能が存在するかどうかわかりませんでした。私にそれを知らせてくれてありがとう。あなたが提案した2番目のコマンドは私の問題を解決しました。 – Tom

-1

あなたは awkを意味しますか?もしそうなら、あなたがしなければならないすべては次のとおりです。私はACKがインストールされていないので、$ awk '/</ filename'

私は100%を確認することはできませんが、私はこのコードを試してみます:

ack '<' --output '$1' -h 

場合それがうまくいかない場合は、man ackack --helpページを読むことをお勧めします。 PowerShellで

+0

いいえ、grepのような検索ツールを使用してください。 http://betterthangrep.com/を参照してください。 – Tom

+0

私は 'ack <'を試みるときに出力を表示するために質問を編集しました。 – Tom

+0

@Tom私は自分の答えを更新しました。うまくいけば、あなたはそれが役に立つと思うでしょう。 – Moses

0

エスケープ文字はバッククォートです:

PS C:\xampp\htdocs> ack `< 
+0

問題はPowerShellではなく、問題はackまたはシェル側にあります。 – JasonMArcher

+0

"ack \' <"と入力すると、"コマンドの構文が間違っています "というエラーが表示されます。 Stej、あなたのシステムで 'ack '<'コマンドを実行し、それがあなたのために働いていることを確認できますか?もしそうなら、私はJasonMArcherに同意するでしょう。 – Tom

関連する問題