次の Unix シェル スクリプトがあります。これを Windows ファイルに変換したいと思い.bat
ます (Windows 環境に適応させる代わりに Cygwin を使用できることはわかっていますが、Cygwin は私にとって選択肢ではありません)。
Windows PowerShell の読み物をオンラインで使用できることを知っています。しかし、この 1 回限りの要件のために、基本からオンラインで学習するのに何時間も費やしたくありません。怠け者だからと言って私を叩かないでください。これは、将来オンラインで検索する人のためのクイックガイドになることで、他の人にも役立つと確信しています.
スクリプトは次のとおりです。
#!/bin/bash
echo ""
cat $1 | grep -A4 "Device_name"; echo ""
cat $1 | grep -A45 "Device_Oops"; echo ""
cat $1 | grep -A150 "Processes:" | sed '/Radar/q'; echo ""
cat $1 | grep -E '[0-9][0-9]:[0-9][0-9]:[0-9][0-9]' | grep -i -E 'error|restart'
私が試したことに関する質問に答えるために、この Web サイトhttp://tldp.org/LDP/abs/html/dosbatch.htmlfind
に相当する " " コマンドの実行に問題があります。grep
これが私のJoy.txt
ファイルです(次の2行):
Device_name router@home
testing only
次に、PowerShell プロンプトで次のコマンドを実行しました。
cat Joy.txt | find "Device_name"
上記のファイルの最初の行が表示されることを期待していました。しかし、代わりに、パラメーター形式が正しくないというエラーが発生します。誰か助けてくれませんか?