ファイルリストに移動し、端末を介してインタラクティブに開きたいとしましょう。
locate filename | head -n 1 | xargs xdg-open
またはそのようなもの。別のオプションは、マウスを使用して表示されるファイル名をクリックして貼り付けることです。
Tmuxを使用すると、端末をナビゲートし、行をコピーし、コマンドにマージできます。 Bash、zsh、または端末エミュレータで直接実行する方法はありますか?
答え1
まず、オプションを配列に入れます。バッシュ構文:
IFS=$'\n' read -r -d '' -a choices < <(locate filename)
Zsh構文:
choices=("${(@f)$(locate filename)}")
ユーザーがこれらのいずれかを選択できるようにする技術は低く、ユーザーフレンドリーではない方法は次のとおりです。select
構造。
select choice in "${choices[@]}"; do
xdg-open "$choice"
break
done
(Bash構文。これはzshにも当てはまりますが、単純化できます。)
より良いインターフェースには、次のものを使用できます。会話。
menu_args=()
for c in "${choices[@]}"; do
menu_args+=("$c" "$c")
done
if choice=$(dialog --menu "$title" "$LINES" "$COLUMNS" "$LINES" "${menu_args[@]}"); then
xdg-open "$choice"
fi