アーシの毎日インプット

毎日1つ以上学習する。学習した内容を公開する。を目標に自分のスキルアップを目指します。

PowerShellでlinux相当のgrep,head,tailをする

スポンサードリンク

先日、トラブルプロジェクトのヘルプに行ってきました。

 

本職はシステムエンジニアのアーシです。

 

主にテスト結果の分析などを行ったのですが、トラブルの手伝いに行った先のパソコンはWindowsPCでありながらエクセルは入ってないし、linux環境にアクセスすることもできない。

 

VBAbashも使えず、どうやってデータ分析を手伝えるかということで、Windows PowerShellを使ってみることにしました。

 

初めての現場で知識がないものをいきなり使うという荒業でしたが、対して難しいことはしなかったのでなんとかなりました。

 

その中でよくデータの確認で使うコマンドで、linux環境ではgrep,head,tailにあたるPowerShellのコマンドを備忘として残しておきます。

 

grepに相当するコマンド

slsを使います。

例)カレントディレクトリでsearchを含む行を抽出する

 

sls "search" *

 

②headに相当するコマンド

抽出した内容をカッコで囲み、その後に表示したい行番号を[x..y]を0スタートの形式で指定します。

例)カレントディレクトリでsearchを含む行を抽出し、その上位5行(1~5行目)を抽出する

(sls "search" *)[0..4]

 

③tailに相当するコマンド

headと似ていますが、指定する行番号をマイナスとすることで、下から指定することができます。 

例)カレントディレクトリでsearchを含む行を抽出し、その下から5行を抽出する

(sls "search" *)[-5..-1]

 

 

Windows PowerShellは最近のWindowsマシンには標準搭載されているので使えるようになっているととっさの時に便利だと思います。

 

機会があったら他のPowerShellコマンドも修得しておこうかなと思いました。

【アーシの原点】

【頭を鍛える迷路集】


スポンサードリンク