ふり返る暇なんて無いね

日々のメモ書きをつらつらと。メインブログに書くほどでもないことを流してます

$PATHを見やすく表示したい

某社の某所のSlackで$PATHを見やすく表示するワンライナーのいろんな方法を紹介してたので転載。
個人的な 備忘録。

zshで動作確認してます。

% zsh --version
zsh 5.0.7 (x86_64-apple-darwin14.0.0)

置換処理をperlに任せる

echo $PATH | perl -pe 's/:/\n/g'

echoプロセスを省略して、省エネする

perl -E 'say for split /:/, $ENV{PATH}’

perlの%ENVではなく元々のシェルの$PATHを参照するパターン

perl -E "say qq{$PATH} =~ s/:/\n/gr"

変数展開するパターン。自分が紹介したパターン。(zsh)

echo ${PATH//:/
}

クオートすれば¥nが使えるの(zsh)

echo ${PATH//:/"\n"}


変数展開覚えとくと便利。

ここから追記

twitterでツッコミをいただいたんですが、これzsh前提でbashだとうまく動かない様子。


$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Copyright (C) 2007 Free Software Foundation, Inc.
echo -e ${PATH//:/\\n}
# or
echo "${PATH//:$'/\n'}"

他の方法としては、sed使うパターン。実は私普段はPerlワンライナーよりsedを使う方が自分は慣れてます。


echo ${PATH} | sed -e "s/:/\n/g"

trを使うパターンがあります。trは普段全く使わないのでなるほどと言う感じでした。


echo "$PATH" | tr : \\n


思いがけないところで、シェルの知見が深まって感謝です。