![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
MacOSX(FreeBSD)でPerlスクリプトを作っています。
●
ファイルに
AAA
BBB
CCC
・・
と行があったときに、任意の行のみを取り出す
スクリプトを教えて頂けますでしょうか?
●
また、IPアドレスのみ、ドメイン名のみ、・・
を探すコマンドはあるのですが、
・ドメイン名
・ドメインサーバのIPアドレス
・デフォルトゲートウェイ
・ネットワークポート
・MACアドレス
・自IPアドレス
・自サブネット
を一気に抜き出すコマンドはありません。
一気に抜き出すスクリプトコードを
教えて頂けませんでしょうか。
宜しくお願い致します。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
>任意の行のみを取り出す
全行を配列に読み込んで、任意行を指定する
open FH '<file.txt';
@lines = <FH>;
close FH;
$str = $lines[12];#12行目を取り出す
システム情報は%ENVに入っています。
print '<ul>';
foreach ( keys %ENV) {
print "<li>$_: $ENV{$_}<BR></li>\n";
}
print '</ul>';
perlが動作しているOSの環境変数ではなく、ネットワーク上の他のOSなどのデータのことを云っているのなら、
個々のアドレス情報からネットワーク関連関数やモジュールで地道に探索するしかないのでは?
ん?コマンド? cgi実行中のことではなく、コマンドライン実行での話なのでしょうか?
この回答への補足
ご返答ありがとうございます。
先に全部を配列に読み込んでから、あとで
抜き出したい行を指定すれば良いのですね。
勉強になりました。
システム情報なのですが、
抜き出したい情報は、今動かしているパソコンの
システム情報になります。
ですので、
「perlが動作しているOSの環境変数」で良いと
思うのですが、
教えて頂きましたENVを使用するコードを実行すると
<ul><li>HOME: /Users/admin<BR></li>
<li>__CF_USER_TEXT_ENCODING: 0x1F5:1:14<BR></li>
<li>SECURITYSESSIONID: 790550<BR></li>
<li>SHLVL: 1<BR></li>
<li>TERM_PROGRAM: Apple_Terminal<BR></li>
<li>OLDPWD: /Users/admin/Desktop<BR></li>
<li>_: /usr/bin/perl<BR></li>
<li>TERM_PROGRAM_VERSION: 133<BR></li>
<li>PATH: /bin:/sbin:/usr/bin:/usr/sbin<BR></li>
<li>SHELL: /bin/tcsh<BR></li>
<li>TERM: xterm-color<BR></li>
<li>PWD:/Users/admin/Desktop/perl_chonpro<BR></li>
<li>USER: admin<BR></li>
となり、なんだかシステム情報を抜き出している
ようなのですが、
192.168.3.1
255.255.255.0
ppp.star-net.com
192.168.1.1
・・・
のような形では表示されないのでしょうか?
>ん?コマンド? cgi実行中のことではなく、
>コマンドライン実行での話なのでしょうか?
cgiのような高級なコードではないです。
単なるスクリプトになります。
「コマンド」と書きましたのは、
例えば、
「今動かしているパソコンのIPを調べる」には、
>ifconfig en0
と打てば、返ってきます。
また、
「参照先DNS」を知りたければ、
>less /etc/resolv.conf
と打てば表示されます。
単発でコマンドを叩けば、
ip/ subnet/ dns/ ・・・は収集出来るのですが、
それらを一発で表示させる
スクリプトを作りたいと思っています。
出来ますでしょうか?
長々とすみません。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?5a7ff87)
No.2
- 回答日時:
>>ifconfig en0
>と打てば、返ってきます。
OSのコマンドのことでしたか。
perl からはシステムコマンド実行をそれぞれ行うことになるかと思います。
// backticks or qx//
print `ifconfig en0`;
print qx|ip/ subnet/ dns/|;
http://fleur.hio.jp/perldoc/mix/pod/perlop.html#X`STRING`
参考URL:http://fleur.hio.jp/perldoc/mix/pod/perlop.html#X`STRING`
再度のご返答ありがとうございます。
ご記入頂きましたサイトを見ていまして、
なんとか出来そう・・? です。
コマンドをたたく以外にないんですね・・w
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ネットワーク cutestat.comというサイトでipアドレスが確認できる件 1 2022/04/10 14:19
- その他(コンピューター・テクノロジー) batファイルでPCの設定内容やプロパティーを取得したいのですが、コマンド1個で1ファイルとなるのを 2 2022/04/27 15:27
- UNIX・Linux raspberry piを使ったWebサーバー制作をしています、接続するネットワークを変更したときに 1 2023/01/09 15:57
- ネットワーク コマンドプロンプトで、コマンドの飛ばし方を教えてください。 ネットワークにデータを飛ばす(copy) 4 2022/10/19 11:21
- VPN 接続のたびにIPが変わるVPNサービスが知りたい 2 2022/06/27 02:34
- その他(インターネット接続・インフラ) モバイルデータ使用時のipアドレスについて 1 2022/06/07 20:55
- その他(セキュリティ) 他人の『スマホのIPアドレスを抜く』という行為は、割と簡単にできてしまうものなのですか? そして、そ 7 2022/12/08 11:41
- その他(インターネット接続・インフラ) アプリ利用者を特定し、裁判に 2 2022/06/09 21:43
- 固定IP MACアドレスはLAN内で相手を特定するアドレスですか? PCから監視カメラを閲覧するときに、セグメ 3 2022/07/23 09:04
- その他(プログラミング・Web制作) このプログラミング誰か教えてくれませんか 4 2022/04/29 15:56
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlの処理待ちコマンド
-
Active Directoryでグループに...
-
system から得た情報を変数に入...
-
例外処理のフローチャートの記...
-
VBでグローバル変数を宣言するには
-
Excel VBAでリンク切れをチェッ...
-
グラフのX,Y座標を取得したい
-
ユーザー定義関数に#NAME?が返...
-
VBA This Workbookモジュール...
-
エクセルVBAでシートモジュール...
-
Excel VBA 『Call』で呼び出す...
-
VBAで別モジュールへの変数の受...
-
DBD::mysql インストールについて
-
教えて下さい。
-
標準モジュールを削除したい。(...
-
Perl モジュールのアンインスト...
-
Access VBA標準モジュールにつ...
-
現在アクティブなフォーム名を...
-
LCD ディスプレイを Raspberry ...
-
ベースモジュールって?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
open MAILでの"|"
-
AIX6でファイルのタイムスタン...
-
時間がかかり過ぎたプロセスを...
-
ハマったので助けて~。Apache...
-
Perlの処理待ちコマンド
-
LinuxにおいてのPerlのプログラ...
-
Active Directoryでグループに...
-
実行中のcpan processを終了さ...
-
マルチスレッドとマルチプロセ...
-
Perlで特定のコマンドを実行さ...
-
system から得た情報を変数に入...
-
system関数とqx演算子の違いに...
-
forkしてもバックグラウンドで...
-
1行の抜き方とシステム情報の収...
-
HELOコマンドが失敗する。
-
`rsh ホスト -l root /bin/echo...
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
「デバイスは PRN を初期化でき...
おすすめ情報