• ベストアンサー

行の中のある文字列の抜出し方

Leanの回答

  • Lean
  • ベストアンサー率72% (435/603)
回答No.4

訂正しておきます。 >rl0のインタフェースが存在しない場合、「ifconfig rl0」では何も表示されないので、その場合には上記の通り実行しても何も表示されません。 「「ifconfig rl0」では何も表示されない」と書いてますが、エラーメッセージが出力されます。 あと、何か書店に行って本なり見てUNIXのコマンドの使い方が書かれたものとか買うとかされた方がいいと思いますよ。 ○FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis) http://www.jp.freebsd.org/man-jp/search.html ifconfig(8)コマンド http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ifconfig&dir=jpman-6.0.0%2Fman§=0 cut(1)コマンド http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=cut&dir=jpman-6.0.0%2Fman§=0

aopoma
質問者

お礼

早速のご返答ありがとうございます。 MacOSXでのBSDと、本物のUnixではパラメータの書式が かなり違うんですね。 ありがとうございました。リンクして頂いた本で調べて見ます。

関連するQ&A

  • 行の中の文字列の取出し方

    よろしくお願いいたします。 ある行があった時に inet 192.168.11.3 netmask 0xffffff00 broadcast 192.168.11.255 IPだけ(ここでは192.168.11.3) 抜き出したいのです。 また default 192.168.11.1 UGSc 17 5 en0 の時も同様で、 (これはデフォゲなのですが、192.168.11.1だけ) 抜き出したいのです。 次も同じで domain odn.ne.jp で、ドメイン名(odn.ne.jpのみ)抜き出したいのです。 また nameserver 192.168.11.1 nameserver 192.168.11.1 のように2行がヒットした時に 先頭行のアドレス(192.168.11.1)のみを抜き出したいのです。 以上のような 1行の中の特定の部分、複数行ある時の指定行の特定の部分を 抜き出す関数やシェルスクリプトを 教えて下さい。 環境はFreeBSDでbashです。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • IPアドレス@FreeBSD

    サーバーを立てなければならなくなりました。 まず、FreeBSDの入ったマシンのIPアドレスを調べたいのですが、いわゆるipconfigにあたるコマンドって何ですか? ifconfigだと思うんですよね。 ただ、これでIPアドレスの見方がわかりません。 inet 192.168.1.20 network 0xffffff00 broadcast 192.168.1.255 と出ているので、192.168.1.20 がIPアドレスですかね。

  • FreeBSDのネットワーク接続

    今FreeBSD6.1を使ってますが(超初心者)、インターネット接続ができなくて困っています。DHCPによる接続を試みていますが、/sysinstallでDHCPどんな情報を入力(host,domain,IPv4gateway,NameServer,IPv4adress,Netmask等)すればよいのかわかりません。ODNを使っているのですが、よくわかりません。BSDのftpを使ってダウンロードしたいのですが・・・。 だれか、知っておられる方、ご教授おねがいします。

  • アクティブなインターフェースのシステム情報の取得方法につきまして

    FreeBSD(MacOS X)を使用しています。 >netstat -rnf inet を実行します。結果は次のようになります。 ******************************** Routing tables Internet: Destination  Gateway  Flags  Refs  Use  Netif  Expire default 11.33.55.7 UGSc 38 469 en0 11.22.33/44 link#4 UCS 1 0 en0 11.22.33.4 0:0:11:22:33:44 UHLW 30 0 en0 「Netif」が「en0」か「en1」になっていたら、 アクティブと判定し、この全体を配列に入れます。 => my @NS=`netstat -rnf inet`; 次に、 $NS[0]=Routing tables $NS[1]=空白 $NS[2]=Internet: $NS[3]=Destination  Gateway  Flags  Refs ・・・ $NS[4]=default 11.33.55.7 UGSc ・・・ $NS[5]=11.22.33/44 link#4 UCS ・・・ ・・・ と別々の配列か変数に入れて散らばっている文字列をキチンと 格納したいのですが、その仕方がまず分かりません。 格納したら、 分岐で「en0」があればそれに対する情報を引出したいのです。 やっかいなのが、ipはnetstatでは無くifconfigなのです。 >ifconfig -aで、 ********************** en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> inet 11.22.33.44 netmask 0xffffff00 broadcast 11.22.255.255 ether 00:11:22:33:44:55 と表示されるのですが、,や:や;とバラバラの文字列群を どう処理したら良いのかも分からないのです。 いったん全部を配列に入れて、各行を別々の配列に入れて、 ソートして、ifで分岐して・・としているですが、成功しません。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ibook に固定ipアドレスを設定する方法は?

    全くの初心者で申し訳ありません。 ご存知の方よろしくお願いします。 ibook dual USB から自宅の Linux fedora core 4 に クロスケーブルでssh で接続しようと考えています Linux のアドレスは 192.168.0.1(wanには繋いでません)で ibook のアドレスをシステム環境設定のネットワークで手入力で192.168.0.2 と入力すると、 en0: アドレス設定なしです ppp0: flags=8011<UP,POINTOPOINT,MULTICAST> mtu 1492 inet 192.168.0.2 --> 10.112.112.112 netmask 0xffffff00 の様に、ppp0のアドレスが変わりました。 これで ibook ターミナルから、ping -c 10 192.168.0.1 すると反応しません なので sudo ifconfig en0 192.168.0.2 すると en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:03:93:cf:3b:9e media: autoselect (100baseTX <full-duplex>) status: active supported media: none autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-loopback> 100baseTX <half-duplex> 100ba の様に、en0のアドレスが変わりました。 これで ibook ターミナルから、ping -c 10 192.168.0.1 するときちんと反応します。 これでよいのでしょうか? しかし再起動するともとの設定に戻ってしまいます システム設定パネルからen0のアドレスを変更はできないのでしょうか?(再起動しても設定が反映) それとも他に良い方法がありますか? よろしくお願いします。

    • 締切済み
    • Mac
  • FreeBSDでルータ作成ができなくてこまっています 

    当方初心者で、設定に丸3日程かかっていてかなりこまっています。 教えてください、よろしくお願いします。 FreeBSD7.2を使いブロードバンドルータとして動作させようと思っています。 接続方法はWANのIPをDHCPクライアントでIPSから取得し LANのIPは手動で設定し、Vistaを接続してインターネットに接続したいです。 FreeBSDビギナーズバイブルを見ながらPacket Filterを設定し、Vistaでインターネットに接続しようとすると、DNSの構成に問題がある可能性が有るとエラーがでます。 re0 WAN em0 local rc.confの設定は ---------------------------------------------------------- defaultrouter="192.168.1.1" gateway_enable="YES" tcp_drop_synfin="YES" icmp_drop_redirect="YES" pf_enable="YES" pf_rules="/etc/pf.conf" pflog_enable="YES" hostname="*****.localhost" ifconfig_re0="DHCP" ifconfig_em0="inet 192.168.1.1 netmask 0xffffff00" keymap="jp.106" ---------------------------------------------------------- Vistaのネットワーク設定は IPアドレス 192.168.1.18 サブネットマスク 255.255.255.0 デフォルトゲートウェイ 192.168.1.1 優先DNSサーバー 192.168.1.1 代替DNSサーバー FreeBSDのnameserver 設定している内容もあまり解かっていませんが、ブロードバンドルータを作りたいので教えてください、よろしくお願いします。

  • シェルで特定行を処理する方法を教えてください。

    初めてご質問させていただきます 数時間考えましたが、全くできない初心者です。 awkとかも使ってみましたが・ちんぷんかんぷんです。 よろしくお願いいたします。 環境:RedHat、シェル:bash [やりたいこと] 特定の文字以外から始まる行を、 特定文字から始まる行へ連結させたい。 (例  aaaから始まっていない行(bbb、ccc、ddd)を、  aaaから始まる行へ出力させる。 ■元となるテキストファイル ============ aaa bbb ccc ddd aaa aaa aaa eee aaa ============ ■整形後のファイル ============ aaabbbcccddd aaa aaa aaaeee aaa ============

  • LANが繋がらない(再)

    以前、以下のような質問をしました。 --------------------- FreeBSD初心者です。 FreeBSD(4.2R)マシンとWin98マシンをLANで繋ぎたいのですがうまくいきません。 BSDマシンにLANカード(3CXE589ET)を入れ、 IP Address:192.168.10.13 Netmask:255.255.255.0 に設定して自分自身にpingしたところ、 ping: sendto: No route to host ....... 9 packets transmitted, 0 packets received, 100% packet loss となりました。 ifconfig ep0では、 ep0: flags=8802<BROADCAST,SIMPLEX.MULTICAST> mtu 1500 ether 00:00:86:61:e0:2d media 10baseT/UTP supported media: 10base2/BNC 10baseT/UTP 10base5/AUI とあります。 BSD側に問題があるのでしょうか? よろしくお願い致します。 ------------------------- それで、 ifconfig ep0 up ifconfig inet 192.168.10.13 netmask 255.255.255.0 とやったら解決したのですが、 rebootすると、 ep0: flags=8802<BROADCAST,SIMPLEX.MULTICAST> mtu 1500 ether 00:00:86:61:e0:2d media 10baseT/UTP supported media: 10base2/BNC 10baseT/UTP 10base5/AUI のように「UP」の文字やIPアドレス、マスクの記述が消えて元に戻ってしまいます。どうしたら設定が残るのでしょうか? よろしくお願いします。

  • KNOPPIXで起動時にIPアドレスを設定したい(リマスタリング)

    KNOPPIXをパッケージを削ったり、シェルスクリプトを入れたりしてリマスタリングを行っています。 /etc/init.dに #!/bin/bash ifconfig eth0 192.168.3.2 netmask 255.255.0.0 route add default gw 192.168.3.1 と書き、 update-rc.dで90番目に起動するように設定しました。 リマスタリング後のテスト(fromhd=/dev/sda1)で同じくupdate-rc.dで自動起動にしたsshは動作確認取れたのですが、ifconfigと打ってもeth0が出てきていません。 後でifconfig 192.168.3.2と打つと、eth0は出てきて、netmaskは設定値(255.255.0.0)に勝手になっています。 シェルスクリプトの書き方・順番が間違っているのでしょうか? CentOSとかを昔いじっていたのですが、CentOSと同じように/etc/以下にeth0の設定ファイルがあって上書きすると起動時にそれが設定されるなどは無いのでしょうか? お分かりになられる方いらっしゃいましたら、ご教授願います。

  • 引数が元のコードと、ファイルの文字列処理について

    よろしくお願いします。 MacOSX(FreeBSD)を使っています。 ●引数を元にして任意のファイルの特定行を  抜き出す方法?  コマンドラインから、   >./[スクリプト名] [ファイル名] [行番号]   (*例 >./test.pl ppp.txt 5)  を打って、   >kkk   (*その行番号の行)  と返ってくるスクリプトを作りたいのですが、  どうすれば良いのかさっぱり分かりません。  ファイルは固定では無く任意のファイルで  行いたいです。また行番号を忘れてコマンドを  入力した場合   (*例 >./test.pl 444.txt)  には、エラーメッセージを出したいのです。  どのようなコードを書けば良いでしょうか? ●文字列処理ですが・・  ファイルが   AAA   BBBCCC DDD EEEEE   FF GGGG HHH   IIIII   ・・・  とあった時に、  例えば3行目のGGGGだけを抜き出す  スクリプトはどうすれば良いでしょうか?  今やっている方針としては、   1.ファイルオープン   2.配列にいったん全部入れる   3.getc関数で1行ずつスカラーに取り込む   4.・・・  このあたりまで考えて息詰っています。  教えて頂けませんでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Perl