皆さんが光を当てるのを手伝ってくれることを望んでいた簡単な質問があります. perlを着実に学んでいます。
非常に大きな文字列があるとします。たとえば、次の出力を取得します。
our $z = `du -B MB /home`
これにより、次のような文字列が生成されます。
1MB /home/debug/Music
1MB /home/debug/Downloads
20MB /home/debug
20MB /home/
私が知りたいのは、この文字列を 2 列 n 行 (n は du 出力の行数) の配列にロードする方法です。
私は次のようなことを試みていました:
my $z1 = `du -B MB /home | tail -4`;
my @c0 = split (/n/, $z1);
my $z2 = join (/\t/, @c0);
my @c2=split(/\t/, $z2);
print @c2;
次の出力が生成されます。
1MB/home/debug/Music1MB/home/debug/Downloads20MB/home/debug20MB/home
置換関数 s///g を使用してディレクトリを null 値に置き換え、SPACE 値を 1 つの配列に設定し、スペース値を null にしてそれを 2 番目の配列に設定し、1 つの配列をキーとして設定できると思いますもう一方に。
これにアプローチする最良の方法について誰か提案がありますか?
どんな助けでも大歓迎です。
ありがとう、
ディエゴ