PATHからすべてのbinディレクトリを一度に抽出する方法は?

PATHからすべてのbinディレクトリを一度に抽出する方法は?

binすべてのディレクトリを抽出PATHして変数に設定したいと思います。すべてのディレクトリが1行に表示されるので混乱しています。:しかし、私はこのbinディレクトリだけを望んでいます。

/home/jo52900/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/local/bin:/opt/universal/ucmdmgr/bin

どうすればいいですか?

ベストアンサー1

なぜあなたはこのディレクトリを特別に扱いたいのかわかりませんbin。おそらく各ディレクトリを1行に表示したいと思います。その場合は、次のようにできます。

printf '%s\n' "$PATH" | tr : '\n'

$PATHたとえば、私のシステムには名前に含まれていないディレクトリがたくさんあります。binこれは次のとおりです。

$ printf '%s\n' "$PATH" | tr : '\n' 
/home/terdon/perl5/bin
/home/terdon/Setups/cd-hit-v4.5.4-2011-03-07
/sbin
/usr/local/sbin
/usr/bin
/usr/sbin
/home/terdon/Setups/PfamScan
/home/terdon/research/data/python
/home/terdon/scripts
/home/terdon/bin

binディレクトリだけを見たい場合は、ディレクトリを抽出するだけです。

$ printf '%s\n' "$PATH" | tr : '\n' | grep '/bin$'
/home/terdon/saphetor/bin
/home/terdon/perl5/bin
/usr/bin
/home/terdon/bin

または、答えに表示されるタスクを実行し、bin実際に存在するディレクトリだけでなく、名前にその文字列を含むディレクトリも含めたい場合名前付き bin、あなたはできます:

$ printf '%s\n' "$PATH" | tr : '\n' | grep 'bin'
/home/terdon/saphetor/bin
/home/terdon/perl5/bin
/sbin
/usr/local/sbin
/usr/bin
/usr/sbin
/home/terdon/bin

おすすめ記事