2
このスクリプトを使用して、システム上のマニュアルページで使用可能なコマンドのリストを生成しています。 time
でこれを実行すると、コンピュータに平均約49秒の時間が表示されます。マニュアルページで使用可能なコマンドを一覧表示するスクリプトを最適化する
#!/usr/local/bin/bash
for x in $(for f in $(compgen -c); do which $f; done | sort -u); do
dir=$(dirname $x)
cmd=$(basename $x)
if [[ ! $(man --path "$cmd" 2>&1) =~ 'No manual entry' ]]; then
printf '%b\n' "${dir}:\n${cmd}"
fi
done | awk '!x[$0]++'
高速化のために最適化する方法はありますか?
これは私の現在の出力の小さなサンプルです。目標はディレクトリごとにコマンドをグループ化することです。これは後で配列に供給されます。
/bin: # directories generated by $dir
[ # commands generated by $cmd (compgen output)
cat
chmod
cp
csh
date