• ベストアンサー

Perl初心者です。 ls -1 Outputの読み込みはどのように?

hiroaki101の回答

回答No.3

こんにちは。 ただファイル名を取得できればいいのなら、以下の方法もあります。 # *.defがファイル名右端である場合(そうでない場合、正規表現に"$"は不要です) if (opendir(DIR, '/dir_a/dir_b')) { @filne_name = grep { /\.def$/i && -f "$dir/$_" } readdir(DIR); closedir(DIR); } シェルとlsコマンドを起動しない分、負荷が比較的軽いと思います。御質問では「"ls -l *.def"の出力」と指定されていますので該当しないかもしれませんが、御参考までに申し上げました。下記URLにも丁寧に説明されています。

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_k03.htm
sjc95134
質問者

お礼

ご丁寧にありがとうございました。

関連するQ&A

  • aから始まるファイルだけlsしたい。

    packages(FreeBSD)の中から、Apacheを探したいのですが、wwwディレクトリの中はたくさんありすぎて、一度に表示できません。そこで、aから始まるファイルだけをlsコマンドで表示したいのですが、こういう場合、どういったオプションをつけるとよいのでしょうか?なにかいい方法があったら教えてください。

  • コマンドプロントでlsを使えるようにする

    windowsのコマンドプロンプトもlsを使えるように使えるようにしたいのですがうまくできません。 わかる方いらっしゃいましたらどうかよろしくお願いします。 まず、私が行った方法はCドライブの直下に以下のようにbashフォルダを作成しました。(C:\bash) 次にテキストファイルを作成し拡張子を.batにしてbashフォルダ内に作成しました。(ls.bat) 上記バッチファイルの中にコマンド「dir」と書き保存しました。 最後に作成したフォルダにパスを通すために 変数名:Path 変数値:C:\bash を追加しました。 以上の工程でlsが使えるようになると思ったのですが、使えませんでした。 なぜ使えないのかわかる方教えてください。

  • lsでのファイル名・パスのフルパス取得

    環境:Solaris10 lsコマンドでディレクトリ、ファイル名の一覧を取得しようとしています。 条件としては 1.対象は全てのディレクトリ・ファイル(ls -R) 2.実行結果はアクセス権・所有者の情報も含む(ls -lの結果のような) 3.ディレクトリ・ファイル名ともにフルパスで表示 この上記3点を満たそうとして、 ls -dlR / と実行してみましたが、この場合Rスイッチが有効になりませんでした。 OS標準コマンドでこの3点を満たすことは出来るのでしょうか?

  • UNIXでfindとls

    UNIXでファイルを検索するのにfindコマンドを使用してますが 情報として、パス名だけが表示されます。 >find . -name ghi -print ./ghi ./abc/def/ghi ./abc/def/ghi/ghi これを、ファイルのいろんな情報を見ることはできないでしょうか? パイプを使おうと思ったのですが、いまいちわかってなくて できませんでした。

  • ls * で表示可能なファイル数はいくつ?

    lsコマンドでディレクトリのファイルをリスト化するのに ls *ではファイル数が多すぎてエラーになります。 lsコマンドで表示可能なファイル数はいくつでしょうか。

  • Unix:ls-lRのリダイレクト

    kshで、ls-lRのコマンドを使い表示したディレクトリの内容を、新規のディレクトリ内のファイルに下記のようにリダイレクトさせようとしましたが、ファイル作成できませんでした。 ls-lR >>$HOME/test/apple cat | ls-lR >> $HOME/test/apple どうすれば、ls-lRの内容をファイルに表示できますか?

  • コマンドプロンプトで「ls」が認識されません!

    検索しても回答が得られなかったので、質問させていただきます。 環境変数をいじったあとで、 アクセサリ→コマンドプロンプトで起動はできますが、「ls」と入力しても 「lsは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 と出てきて、lsコマンドが使えません。 環境変数をいじる前は、できていました。 「cd」,「dir」のコマンドは使用可能です。 システム環境変数で 変数名 ComSpec 変数値 %SystemRoot%\system32\cmd.exe はあります。 OSはXPです。 何が原因か分からないので、どなたか分かる方がいましたら、ご回答お願いします。

  • ターミナルのls コマンドについて

    macbook OS X 10.5.6 を使っています. PC初心者です. Terminal で,あるディレクトリの中身を調べる時に,サブディレクトリの中身まで含めて全て表示させるためにはどうすればよいのでしょうか. 例えば,ディレクトリAの中に「テキストファイルB,ディレクトリC」があり,さらに,ディレクトリCの中に「テキストファイルD」があるとします. このとき,ls コマンドでディレクトリA の内容を表示させようとすると, テキストファイルB とディレクトリC が表示され,ディレクトリCの中身(ここではテキストファイルD)までは表示されません. 私はディレクトリCの中身まで含めて一括で表示させたいのですが,その方法が分かりません. このようなやり方をご存じの方がいらっしゃったら,お教え下さい. 何かやり方があるならば,ls コマンドにこだわる必要は全くありません.

    • ベストアンサー
    • Mac
  • ls であるファイル以外を表示したい

    RH7.3です。 あるディレクトリ配下に多数のファイルがそんざいするのですが、 そのディレクトリで「ls」をしたときに"access_log"というファイル以外を表示させたいです。  ls [!a]* でやったのですが、access_logの他に access_log.1などがありそれも含まれてしまいます。 何かいい方法はないでしょうか? できれば、ls コマンドひとつで処理したいと思っています。(正規表現で対応?)

  • コマンド ls について

    linux初心者です。 調べたのですが、出てこなかったので知っている方がいらっしゃったら。 linux コマンドで ls というものがあると思いますが、オプションで -la をつけた際に表示される "." ".." の2つのディレクトリ??はいったい何を意味している(というより何?)のでしょうか。 パーミッションも付与されているみたいなので、ファイルかディレクトかなのでしょうか? ls で検索しても出てこなかったので(manも読みましたがそれらしいものはなかったので)、ちょっと無知な感じですがご回答よろしくお願いいたします。