BashとPowerShell比較(文字列抽出)


アニメ『世界征服~謀略のズヴィズダー~』

なかなか面白いアニメなのに、存在自体を知りませんでした。

さて、BashかPowerShellどちらを常用するか悩みの続きで、今回は文字列の抽出を比較します。

何番目の文字取得

Bash

takk@ubu16:~/aaa$ a=HELLO
takk@ubu16:~/aaa$ echo ${a:0:1}
H
takk@ubu16:~/aaa$

Bashのこの表現好きですが、分かり難いですねえ。

PowerShell

PS /home/takk/aaa> $a="HELLO"
PS /home/takk/aaa> $a[0]
H
PS /home/takk/aaa>

直観で使える気がします。

部分文字列取得

Bash

takk@ubu16:~/aaa$ a=HELLO
takk@ubu16:~/aaa$ echo ${a:1:3}
ELL
takk@ubu16:~/aaa$

Bashにだけ慣れてしまえば、これはこれで使えるようになります。

PowerShell

PS /home/takk/aaa> $a="HELLO"
PS /home/takk/aaa> $a.substring(1,3)
ELL
PS /home/takk/aaa>

やはり、直観で使えますね。

文字列トリム

Bash

takk@ubu16:~$ a="   HELLO   "
takk@ubu16:~$ echo $a
HELLO
takk@ubu16:~$ 

Bashではechoするだけで空白削除してくれます。
空白入りの元の文字列を表示するには、””で囲みます。

takk@ubu16:~$ echo "$a"
   HELLO
takk@ubu16:~$

PowerShell

PS /home/takk> $a="   HELLO   "
PS /home/takk> $a
   HELLO
PS /home/takk> $a.Trim()
HELLO
PS /home/takk>

PowerShellはトリムするためのメソッドがあります。
どちらが便利かというと、慣れ、でしょうか。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA