Linuxコマンドでファイルの桁数を取得する方法

Linuxコマンドでファイルの桁数を取得する方法

 

LInuxコマンドで、閲覧したいファイルの桁数を取得する方法を知らなかったのでメモ。

ファイルは前回のgrepコマンドの時に作成したテキストファイルを利用しましょう。

wc -l sample.txt

んで、実行した結果がこちら。

4 sample.txt

無事、参照したテキストファイルの桁数は4桁だということが取得できましたー

 

さてさて、

これをPHPを書いている時に、Linuxコマンドを使って、ファイルの桁数を取得しろってことがあるかもしれません。(実際に最近のタスクでありました。)

 

参照するファイルが何100万件もある桁数の場合、

PHPで桁数を取得しようとループを回していると、めちゃくちゃ時間がかかるんですね。(もちろん実際のタスクは桁数を取得するだけではなく、いろいろな判定なども実装します。)

 

なので、最近、紹介しているような感じで、PHPを使わずにLinuxコマンドでやっちゃいましょというような指令なわけです。

 

話がそれましたが、それではPHPからこのLinuxコマンドを実行し、

桁数を取得してみましょう!

 

$cmd = sprintf(
            "wc -l %s",
            "sample.text"
        );

$result = exec($cmd);

はい、LinuxコマンドをPHPから実行する方法はもうOKですね?

わからない人は、PHPでコマンドラインを実行する2つの方法の記事をご参考にどぞ。

んで、取得した結果は

4 sample.txt

なので、空白以降の文字列が不要なので、

空白で文字列を分割しちゃって、最初の4だけ取得しちゃいましょう。

なので、桁数だけを取り出すのはこんな感じで書きます。

$total = explode(' ', $result)[0];

 

まあ、こんな感じで書きましたけど、今回はwcコマンドを覚えられたらそれでOKですかね?

 

普段PHPとかで書いていることは、Linuxコマンドでもだいたい再現できるんですね〜

LinuxコマンドはPHPよりも爆速なんで。

ぜひお試しあれ。

現場で働けるエンジニア育成プラン

未経験からエンジニアに転職したいと考えている人を対象にレッスンを行っております。


私は29歳未経験からエンジニアに転職しました。

それまではミュージシャンを目指して音楽活動ばかり。
社会人としての経験はゼロでした。

エンジニア転職を決めたきっかけは、
その当時、ミュージシャンという職に対して将来的に希望がもてず、お金もなく、副業でやっていた物販にも失敗し、借金も1000万オーバー。
まさに人生のどん底で、そんなときに次の人生のステージとしてプログラミングという世界を選択しました。

あれから、数年。
今ではフリーランスとして仕事ができており、
収入もあの頃の数倍にまでなり、借金も返済できました。
エンジニア転職で人生が変わったといっても過言ではありません。

ただ、エンジニアに転職してからの時期は、困難の連続でした。
とくに最初の1−2年は、わからないことだらけで、本当にハゲるかと思うくらい苦しく、
実際に1年半後には適応障害になり、体を壊してしまいました。

プログラマーという職はタフな仕事です。

これからエンジニアを目指される方には、少しでも現場で苦労してほしくないという気持ちで、プログラミングのレッスンをしております。

私のレッスンではPHPを基本的なところからしっかりと学習していただいております。

これからPHPを使ってバックエンドエンジニアになりたい方には、大変おすすめのレッスン内容になっております。

レッスンはマンツーマン形式を採用しており、
しっかりとメンティーさんお一人お一人に対して、丁寧にコードレビューをして、
プログラミングの基礎をしっかりと身につけていただきます。
出題する問題には回答は用意しておらず、ご自身がしっかりとロジックを考えることを最大限重視しています。
また現場基準でコードレビューをしっかりおこなっておりますので、悪いクセがつくことを防ぎます。

PHPを基礎からしっかりと学習したい、Webエンジニアとして転職を考えているということでしたら、私のレッスンはおすすめできます。

実際の実績としても、
30代での転職成功者も多数!
未経験から機械学習エンジニアに転職成功!
MENTAでは圧倒的に高評価のレビューをいただいております。

エンジニアに転職して、人生を変えたい
再チャレンジしたい
と思っている方
もしかするとお力になれるかもしれません。

まずはお気軽にご相談ください。