ディレクトリモードをパラメータとして渡してディレクトリを変更するソリューション

ディレクトリモードをパラメータとして渡してディレクトリを変更するソリューション

ディレクトリを正確に渡さずにパターンをパラメータとして渡すことで、ディレクトリ変更を実装するスクリプトまたはLinuxソリューションがあることを願っています。このような:

# Ex: I'd like to execute a "cd" to a directory with script as a part of it name. 
# My choice will be 4, so the script will execute cd /usr/share/doc/xorg-scripts-1.0.1

rexcd script

1) /home/prpe/scripts
2) /home/prpe/sintaxe/scripts_plone
3) /home/prpe/sintaxe/scripts_plone/scripts
4) /usr/share/doc/xorg-scripts-1.0.1
5) /usr/x86_64-pc-cygwin/lib/ldscripts

Option [1] 4

prpe@DESK-00-090117 /usr/share/doc/xorg-scripts-1.0.1
$

ディレクトリモードがディレクトリを1つだけ作成する場合、ソリューションはそのディレクトリに移動します。

これを実装するためのソリューションやアイデアに感謝します。

ベストアンサー1

これはあなたが達成したいものだと思いますか?

rexcd () {
    search_base=/path/to/base
    pattern=$@

    directories=( $(find "$search_base" -type d -name "*${pattern}*" 2>/dev/null) )

    PS3="Which directory should we change to? "
    select dir in "${directories[@]}"; do
        case $dir in
            *) cd "$dir";break;;
        esac
    done
}

とにかく私のコンピュータで一般的な単語を検索すると、検索ベースの範囲に応じて不要なコンテンツがたくさん表示されます。

使用中:

$ rexcd someweirddir && pwd
1) /Users/jessebutryn/tmp/someweirddir1
2) /Users/jessebutryn/tmp/someweirddir2
Which directory should we change to? 2
/Users/jessebutryn/tmp/someweirddir2

おすすめ記事