从终端打开文档,但不是通过其名称

从终端打开文档,但不是通过其名称

是否可以不通过文件名称而是通过其在文件夹中的位置(编号)从终端打开文件?或者还有其他选择吗?

因为名字太长了。

答案1

你可能还没有发现Tab-completion(见这里) 然而。

在终端中输入文件名时,只需输入前几个字母,然后点击Tab即可看到奇迹!

答案2

只是为了好玩,逐字回答这个问题:

在此处输入图片描述

#!/usr/bin/env python3
import os
import subprocess

show_hidden = False

currfiles = os.listdir("./")
if not show_hidden:
    currfiles = [f for f in currfiles if not f.startswith(".")]
n = 1
for f in currfiles:
    print(str(n) + ". " + f)
    n = n + 1

picked = int(input("Quick, quick, give me a number:\n"))
subprocess.run(["xdg-open", currfiles[picked - 1]])

实践中如何运作

  1. 在终端中,在工作目录中,运行“o”(作为命令)
  2. 当前目录的内容已列出并编号。选择编号即可打开该项目:

    在此处输入图片描述

设置

...简单:

  1. 如果尚不存在,请在主目录中创建一个名为“bin”的文件夹
  2. 将脚本复制到一个空文件中,将其保存为(字面意思)“o”(无扩展名),然后使其可执行
  3. 注销并重新登录并开始使用命令,只需输入

    $ o
    

    在终端

注意:

如果你还想显示隐藏文件,请更改

show_hidden = False

进入:

show_hidden = True

答案3

Bash 中有一个鲜为人知的功能,允许您执行此操作,而无需调用 python 或任何其他第三方工具,只需一行即可:

select file in *; do open "$file"; break; done

答案4

您可以安装并使用mc,Midnight Commander。它是一个带有菜单等的文本用户界面,灵感来自旧的 Norton Commander,在人们使用 MSDOS(Windows 之前)时很流行。

sudo apt update
sudo apt install mc

并在终端窗口或文本屏幕中启动它,

mc

相关内容