![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Net::FTPを使いファイル一覧のみを取得したい
以前の質問では大変お世話になりました。
「Net::FTPを使いフォルダ一覧を取得」
http://okwave.jp/qa/q5555220.html
今度は、Net::FTPを使いファイル一覧のみを取得したいと思ってます。
(ここから)
use Net::FTP;
my $ftp = Net::FTP->new("hoge.sav.ne.jpp", Debug => 0 , Passive => "true"); # 接続
$ftp->login("xxxx", "pass"); # ログイン
my @dir = $ftp->cwd('/public_html');
my @dir = grep /^d/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得
my @dir_names_full = @dir[2..$#dir]; # 自フォルダと親フォルダ("."と"..")を除く。
my @dir_names_short = map { (split)[8] } @dir_names_full; # フォルダ名のみを取得
$ftp->quit;
print "$_<br>\n" for @dir_names_full;
(ここまで)
my @dir = grep /^d/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得
の部分の「grep /^d/,」を削除したら、ファイルも一緒に表示させることは出来たのですが
正しく表示されませんでした。
(ここから)
drwxrwx--- 2 xxxx xxxxx 48 Sep 3 14:59 Maildir
drwx---r-x 2 xxxx xxxxx48 Sep 3 14:59 log
-rw-r--r-- 1 xxxxnobody 2932 Oct 21 09:34 ent4.html
-rw-r--r-- 1 xxxx nobody 2933 Oct 21 09:34 ent5.html
-rw-r--r-- 1 xxxx nobody 2878 Oct 21 09:34 index.html
(ここまで)
最終的な結果は
(ここから)
-rw-r--r-- 1 xxxx nobody 2932 Oct 21 09:34 ent1.html
-rw-r--r-- 1 xxxx nobody 2932 Oct 21 09:34 ent2.html
-rw-r--r-- 1 xxxx nobody 2933 Oct 21 09:34 ent3.html
-rw-r--r-- 1 xxxx nobody 2932 Oct 21 09:34 ent4.html
-rw-r--r-- 1 xxxx nobody 2933 Oct 21 09:34 ent5.html
-rw-r--r-- 1 xxxx nobody 2878 Oct 21 09:34 index.html
(ここまで)
で表示させたいのです。
検索をしていたら、grepで出来そうなのかと思いやってみましたがうまくいきませんでした。
お手数かけます。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こちらで試してみたのですが、
ディレクトリ以外のファイルが一覧で取得できました。
やっている事は、取得した文字列の最初の一文字目が
どの文字かを判別して配列に格納している訳ですが、
以下のようにやってみても結果は変わらないでしょうか?
my @dir = grep /^\-/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得
または
my @dir = grep /^[^d]/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得(d以外とマッチ)
diszoさん
回答ありがとうございます。
>my @dir = grep /^\-/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得
>または
>my @dir = grep /^[^d]/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得(d以外とマッチ)
申し訳ございませんでした。
どっちも問題ありませんでした。単純な記述ミスを別の場所でやっていました。
ありがとうございます!!
これで作業が進められます。
No.1
- 回答日時:
簡単にやるのでしたら、
my @dir = grep /^d/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得
の部分を
my @dir = grep /^-/, $ftp->dir; # ←ファイル一覧をdirコマンドで取得
に変更するではだめですか?
この回答への補足
diszoさん
回答ありがとうございます。
早速やってみました。
my @dir = grep /^d/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得
を
my @dir = grep /^-/, $ftp->dir; # ← フォルダ一覧をdirコマンドで取得
としましたが結果が変わりませんでした。
やり方が悪いのでしょうか?
今回サーバーの内容はファイルは拡張子がhtmlを対象としているので、それで取得できないかとも思ってましたがうまくいっておりません。
お手数かけます。
以上、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- その他(プログラミング・Web制作) PythonのプログラムのDirに関する質問です 3 2022/12/04 17:01
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBA GetAttrについて教えてください 2 2022/12/22 15:25
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
dos変数の%~dp0は powershellで...
-
batファイルでrenameができませ...
-
パスから最後のディレクトリだ...
-
複数ファイルの読み込みについて
-
Windowsで複数のファイルを同じ...
-
vba dir の相対パス
-
C#での文字抜き出し正規表現に...
-
readdir()で得られるファイル・...
-
ディレクトリ名を取得したい
-
find関数が1階層(カレントディ...
-
LinuxのC言語で、ファイル名の...
-
ファイルの削除について
-
VBAで巨大なファイルの途中から...
-
エクセルVBA コードが同じでも...
-
read() on unopened filehandle...
-
バッチファイルの作り方(CSV→...
-
awkスクリプトでダブルクォーテ...
-
ExcelをCSV書き出す場合のシー...
-
Perlの変数に文字数制限(容量...
-
並び方、
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでrenameができませ...
-
readdir()で得られるファイル・...
-
ディレクトリ名を取得したい
-
パスから最後のディレクトリだ...
-
Windowsで複数のファイルを同じ...
-
C言語でファイル名を取得
-
FindFirstFileとFindNextFileで...
-
Perlで フォルダ内の全て...
-
エラー 'dir.h' : No such fi...
-
vba dir の相対パス
-
一定時間が経過したフォルダの削除
-
テキストファイルの結合
-
LinuxのC言語で、ファイル名の...
-
chdirがうまくできない
-
複数のCSVファイルを一つのCSV...
-
ディレクトリの判別
-
空白を含むディレクトリにある...
-
Perl 特定のフォルダ以外削除
-
正規表現で、特定のファイル名...
-
dos変数の%~dp0は powershellで...
おすすめ情報