>expectを用いた正規表現[]のgrepについて入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。\"exit\n\""以下のようにエラーが出てしまいます。within[0-9]この部分を\[0-9\]このようにエスケープしてみても同じエラーが出てしまい、実行できません。どのようにすれば正規表現として認識してくれるのでしょうか。以上よろしくお願いいたします。通報するこの質問への回答は締め切られました。最初にzgrepの部分でエスケープしているためか、エスケープせずとも問題ないようです。"以降を解釈するのは、これを実行するシェルです。"の"に対応するクオートです文字列です。「探したいもの」はクオート無しです。\でエスケープした"は、他の文字と同じになり、それ自体にクオートする機能はありません。"[0-9]%"\nQ"」と書いたのと、文法的な解釈は同じなのです。"exit\n"」となります。・空白があったら、単語の区切りとなって、別の引数になる・特殊な文字はファイル名展開対象とかで使われてしまうということになります。\nじゃなくて\\nだと思います。して、表示されるのが、期待通りのexpectスクリプトになっているかも確認してみてください。・変数展開とか必要が無いところはシングルクオートを使う・ヒアドキュメントを使う・別のファイルにするのが間違いが少ないです。回答ありがとうございます。最初にzgrepの部分でエスケープしているためか、エスケープせずとも問題ないようです。[0-9]の部分に関しましては二重でエスケープしてみましたが、同じエラーとなってしまいました。"[0-9]%"\n\"以上よろしくお願いいたします。自営業やフリーランスといった個人事業主の方、副業をされている方はこの時期になると確定申告のお悩みや疑問があるものです。今回は教えて!gooに寄せられた確定申告について質問の多かった代表的なQAをテーマごとにまとめてみました。条件文(if文)の書き方Ruby6シェルスクリプト中のexpectで変数使う方法UNIX・Linux7bashで、gotoのようなラベルによるジャンプ構文をしたいのですが、方法をご教授ください。自営業やフリーランスといった個人事業主の方、副業をされている方はこの時期になると確定申告のお悩みや疑問があるものです。今回は教えて!gooに寄せられた確定申告について質問の多かった代表的なQAをテーマごとにまとめてみました。条件文(if文)の書き方Ruby6シェルスクリプト中のexpectで変数使う方法UNIX・Linux7bashで、gotoのようなラベルによるジャンプ構文をしたいのですが、方法をご教授ください。回答数ランキングです。string」Win2kのCygwinで下記のスクリプトを試してみました。stringとなり、終ってしまいました。コマンドを実行」が問題みたいなのですが何がまずかったのでしょうか?Win2kのCygwinで下記のスクリプトを試してみました。...続きを読むAベストアンサーおはようございます。私もそのままではうまくいきませんでした。そのURLの例は間違っているのだと思います。(動かした後でコメントをいれて、動作確認をしなかったのかな?)ちなみにコメントを入れる場合は下のように、行末に;をつけてから入れるとよいようです。基本的にエラーの原因は#2さんのご指摘のとおりです。参考URLも良く見ると最後に"がありますよ。(それでも動かないと思いますが。)ただし、今の場合、最後にinteractを入れないとうまく動かないとおもいます。(少なくとも私はそうでした。)この掲示板の過去の質問が参考になりました。;こめんとinteract"参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=924035http://oshiete1.goo.ne.jp/kotaeru.php3?q=925167おはようございます。私もそのままではうまくいきませんでした。そのURLの例は間違っているのだと思います。(動かした後でコメントをいれて、動作確認をしなかったのかな?)ちなみにコメントを入れる場合は下のように、行末に;をつけてから入れるとよいようです。基本的にエラーの原因は#2さんのご指摘のとおりです。参考URLも良く見ると最後に"がありますよ。(それでも動か...続きを読む他の回答も見るQexpectの使い方についてexpectの使い方についてご教示頂きたいことがあります。内容は以下の通りです。1)スイッチ機器にtelnetし、自動的に設定を行うようにしたい。この機器の通常のプロンプトは"goo#"とする"goo"はあらかじめ変数"host"として代入される。goo#だったら"save"コマンドを実行する。以外のプロンプトだったら即座に処理を中断(別の処理)したいのです。2)ログイン中に別ファイルを呼び出し、その中から1行ずつ抜き出して改行コードつきでコマンドを実行したい場合どうすればいいのかhttp://www.linux.or.jp/JM/html/expect/man1/expect.1.htmlこのページは読んだのですが、いまいちよく理解できません。Aベストアンサーどもです。参考にしてみてください。参考にしてみてください。exit}$prompt}...続きを読む他の回答も見るQsedの置換文字に変数を使用したいのですが・・・あるファイルの特定の文字を変換し、上書きをする処理を行いたいのですが、sedの置換文字に変数が渡せなくて困っています。囲まれた中の$はそのままドルマークです。変数展開をするなら、'・・・'で囲んではいけません。何も囲まないか、"・・・"で囲むかです。他の回答も見るQexpectを使って自動でSSHログインした後にコマンドを実行したいとexpectを使って自動でSSHログインした後にコマンドを実行したいと思っています。-hやmailqのようなコマンドは問題ないのですが、awkを利用してダラー?"$"を入れてフィールド操作しようとするとダラーだけうまく読み込んでくれないのです。close"※クローズも正しくないみたいですが、無理やりtimeoutで閉じれているのでとりあえず。/proc/user_beancounters\r""echoでCOMMANDを表示させるとちゃんと代入されているのです。これがダラーを使わずに'{ptint}'とすれば問題ありません。なるとawkは問題ないので、やはり問題はダラーにあると思います。バックスラッシュを入れてエスケープしてもダラーを二つ並べてもできません。"NFとなっているので、明示的に数字を入れてフィールドを指定してもだめです。どなたかexpectのなかでダラーを読ませる方法をしりませんでしょうか。expectを使って自動でSSHログインした後にコマンドを実行したいと思っています。-hやmailqのようなコマンドは問題ないのですが、awkを利用してダラー?"$"を入れてフィールド操作しようとするとダラーだけうまく読み込んでくれないのです。sword:...続きを読むAベストアンサー$の前にバックスラッシュ2つ付けてください。\\$6}'のようにします。hoge.txtと打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。hogeという3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。オプションじゃだめですか?参考URL:http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html他の回答も見るQpingでポートの指定pingでIPアドレスを指定して、通信できるかどうかというのはよく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?よろしくお願いしますAベストアンサーpingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。・クライアントからサーバへのログイン(TCP/21)・クライアントからサーバへのlsの結果(TCP/20)で確認すればよいでしょう。pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。会話形式でエンターキーの動作は?シェル内で、ENTERキーを押した時の動作をしたいと思います。具体的には、もともと「telnetする、接続→ある値を入力する→ENTERを押す→入力した値に合わせたテキストが出力される→connection終了」という処理があり、これを自動化して、出力されたテキストをファイルに保存するためのシェルを作りたいのです。作ってみたところ、1点だけできないのがENTERキーを押す部分です。シェルを実行すると、値の入力まで行われた状態で終わってしまいます。そこで手動でENTERを押せば、正常に処理が終了します。会話形式でENTERを押した時の処理がうまくかけていないと思っています。"\r\n"などいろいろ試したのですが・・・echoではないのではないかと推測していますが、行き詰まりました。どのようにしたらよいのかご教授ください。""でいいんじゃないでしょうか。やりたいことが正確には理解できていないかもしれませんが。文法的にまちがって見えても、本当に改行してしまうところがミソです。他の回答も見るQttlで戻り値を取得する方法Teratermmacroでローカル(cygwin)に入り、サーバ(HP-UX)にリモートで入った後、コマンドの戻り値で後の行動を操作したいのですが、うまくいきません。わかる方、教えていただけませんか。以下のようなマクロを組んでいます。name2@host2'以下略----------------------------------------------------------上記の「戻り値」をどのようにすれば戻り値で判別してくれるでしょうか。$?やresultでやりましたが、どのような戻り値でも必ず$?は0、resultは1で固定でした。sendmsgとif文の間に以下のように試しましたが、失敗しました。errorになります。mismatch.のエラーになる。直前にstr2intを入れたりしても駄目でした。$?'を挟まずsendmsgの直後にrecvlnでも駄目です。then----------------------------------------------------------host1にシェルスクリプトを入れることは出来ません。Teratermmacroでローカル(cygwin)に入り、サーバ(HP-UX)にリモートで入った後、コマンドの戻り値で後の行動を操作したいのですが、うまくいきません。わかる方、教えていただけませんか。以下のようなマクロを組んでいます。出力文字をttlで受信して判定、でいいと思います。等と判定ということになります。http://ttssh2.sourceforge.jp/manual/ja/macro/syntax/variables.htmlhttp://ttssh2.sourceforge.jp/manual/ja/macro/command/strcompare.htmlhttp://ttssh2.sourceforge.jp/manual/ja/macro/command/str2int.html・recvln1つではエコーバックの分を受け取ってしまうようです。他の出力を受信してしまう場合もあります。'recvln・シェルスクリプトを入れることはできなくても、複合コマンドを実行することはできるはずです。出力文字をttlで受信して判定、でいいと思います。等と判定ということになります。http://ttssh2.sourceforge.jp/manual/ja/macro/syntax/variables.htmlhttp://ttssh2.sourceforge.jp/manual/ja/macro/command/strcompare.htmlhttp://ttssh2.sourceforge.jp/manual/ja/macro/command/str2int.html・recvln1つではエコーバ...続きを読む他の回答も見るQscpコマンドでリモートサーバのファイルを削除したいwinscpでリモートサーバのファイル削除が出来るので、てっきりscpコマンドでオプションがあるのかと思ったのですが、見当たりません。testfile"のように実行するの一般的かと。他の回答も見るQsedなどで、特定の文字列の後の文字列を抽出したいsedなどで、特定の文字列の後の文字列を抽出したいシェルスクリプト内で、sedなどを使って特定の文字列の後の文字列を抽出したいのですが、どうすればいいでしょうか?たとえば、abcXYZ123defghiのなかから、XYZの後の「123」を抜き出したいです。...のようにして実行させたいです。日本語対応sedだと日本語数字混じりでもできますね。入力フォームに書いている時はASCIIと日本語の判別がし易いけど回答見るとわかり難いですね。後ろの例での結果57とy/0123456789/の数字部分が日本語です。含む文字列に置換8sedの置換文字に変数を使用した...9awkを用いて、特定の文字を含む...10UNIX(Cシェル)での数値...11行の挿入をおこなう。空文字判定?9expectを用いた正規表現[]のgre...10awkやsed等で特定の文字間を抜...11sedで置換した値を変数にセット...12行の挿入をおこなう。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。