2018-02-20

【備忘録】Rで正規表現を使う

R で正規表現を使おうとするときいつも忘れてしまって、インターネット上を検索するのですがなかなか見つからないので、備忘録にしました。

検索でハマる原因は、最初に regexpr コマンドが見つかり、これを使おうとするからです。そうすると regexec を忘れてしまう。そう、ほとんどの場合、正規表現を使って下記のようなことをしたいのです。

> x <- "http://stat.umn.edu:80/xyz"
> m <- regexec("^(([^:]+)://)?([^:/]+)(:([0-9]+))?(/.*)", x)
> m
[[1]]
[1]  1  1  1  8 20 21 23
attr(,"match.length")
[1] 26  7  4 12  3  2  4
attr(,"useBytes")
[1] TRUE

> regmatches(x, m)
[[1]]
[1] "http://stat.umn.edu:80/xyz" "http://"                   
[3] "http"                       "stat.umn.edu"              
[5] ":80"                        "80"                        
[7] "/xyz"                      

> 

参考サイト

  1. R: Pattern Matching and Replacement

 

ブログランキング・にほんブログ村へ
にほんブログ村

2018-02-12

PowerShell on Linux であそぶ(1)

Microsoft 社がオープンソース化したコマンドラインツール PowerShell 6 は、Windows 用だけでなく Linux や OS X にも移植されています。

2003 年に新世代のシェルとして登場した Monad が PowerShell になり、Windows 7 以降は標準で搭載されるようになりました。しかしコマンドプロンプト cmd.exe が廃止されなかったこと、また PowerShell でないとできないという課題に直面しなかったことから、今や業務でしか Windows を使わなくなってしまった自分の PowerShell 習熟度は、使いこなせるレベルからは程遠い状態です。

しかし、Linux でも PowerShell が利用できるようになったこの機に、Linux における PowerShell の利用価値を探るために、PowerShell を Linux 上で学習しながら使ってみるというのは悪くないテーマです。早速、近所の丸善で Windows PowerShell 5 の参考書 [1]を買いました。

というわけで、しばらく Linux 上で PowerShell を使って学習しながら遊んでみようと思います。なお、PowerShell を Linux へインストールする方法は、参考サイト [2] を参考にしてください。

PowerShell 起動用アイコンをデスクトップに作成

最初に PowerShell を使いやすい環境に整えます。デスクトップ上に下図左側のアイコン群にあるような PowerShell アイコンを用意して、ダブルクリックすると端末エミュレータが開いて PowerShell が起動するようにします。

デスクトップ上のアイコンをダブルクリックして PowerShell を起動した例

動作環境は次の通りです。

  • OS: Fedora 27 (x86_64)
  • Desktop: Cinnamon 3.6
    • cinnamon-3.6.7-3.fc27.x86_64
  • powershell-6.0.1-1.rhel.7.x86_64
  • gnome-terminal-3.26.2-1.fc27.x86_64(端末エミュレータ)

端末エミュレータは、自分の好みで Gnome の端末エミュレータ (gnome-terminal) を使っています。

端末エミュレータ上で pwsh とタイプすると PowerShell が起動しますが、これだと自分の場合、PowerShell を使わなくなってしまうと思うので、専用の PowerShell 起動アイコンをデスクトップ上に作ります。

端末エミュレータ上から PowerShell を起動した例

デフォルトと PowerShell のプロファイル作成

通常は端末エミュレータのプロファイルを意識していないかもしれませんが、今回は通常の端末エミュレータと PowerShell 用とで使い分けたいので、とりあえず、現状の設定のままで二種類の名前をつけたプロファイルを用意しておきます。

端末エミュレータ (gnome-terminal) のメニューから「編集(E)」→「設定(F)」で開くダイアログウィンドウで「プロファイル」タブをクリックします。ここでは「新規(N)」で default(デフォルト)を作成し、「複製(C)」で PowerShell を作っています。

二種類の名前の端末エミュレータ用プロファイルを準備

PowerShell 用アイコンの準備

デスクトップに表示する PowerSHell のアイコンを準備します。ここではインターネット上から取得した適当な画像を /home/bitwalk/画像/PowerShell-256.png として保存しました。なお、著作権フリーで使用できる画像を本記事用には準備していませんので、あしからずご了承下さい。

デスクトップ用ファイルの作成

下記の内容を適当なテキストエディタで編集し、$HOME/デスクトップ 上に保存します。ここでは保存するファイル名を powershell.desktop としました。

powershell.desktop
[Desktop Entry]
Encoding=UTF-8
Name=PowerShell
Comment=PowerShell Terminal
Exec=gnome-terminal --profile=PowerShell
Icon=/home/bitwalk/画像/PowerShell-256.png
Keywords=shell;prompt;command;commandline;cmd;PowerShell;
Type=Applications
Categories=GNOME;GTK;System;TerminalEmulator;
Version=1.0
Type=Application

デスクトップ上には、最初、ファイル名のまま表示されています。これをダブルクリックすると下記のダイアログが表示されます。

作成されたデスクトップファイルを最初にダブルクリックした時に表示されるダイアログ画面

「安全性が確認されたものとする (T)」ボタンをクリックすると、デスクトップ上に指定された画像が表示され、次回からダブルクリックでの起動が可能になります。

PowerShell プロファイルの編集

デスクトップ上の PowerShell アイコンをダブルクリックして端末エミュレータを起動し、メニューからプロファイル PowerShell を編集します。「コマンド」タブでは「◻ SHELLの代わりにコマンドを実行する」のチェックボックスを選択☑し、コマンドに /usr/bin/pwsh を指定します。

プロファイル PowerShell の「コマンド」タブ画面

「色」のタブでは、Windows 上の PowerShell のデフォルトの配色に似せることも、好みに応じてできます。

プロファイル PowerShell の「色」タブ画面

「プロファイル PowerShell 編集」画面を閉じた後、最後「設定」ダイアログウィンドウ上で「新しい端末を起動する際に使用するプロファイル(P):」を PowerShell に設定して閉じて、端末エミュレータを終了します。

設定ダイアログ画面

PowerShell アイコンのダブルクリック

再度、デスクトップ上の PowerShell アイコンをダブルクリックして、端末エミュレータを開き、PowerShell が起動することを確認します。

PowerShell の起動例

PowerShell を具体的に使ってみるのは次回から。

参考サイト

  1. 日経BP書店|商品詳細 -  Windows PowerShell実践システム管理ガイド 第3版
  2. bitWalk's: Fedora で PowerShell を試す [2018-01-14]

 

ブログランキング・にほんブログ村へ
にほんブログ村