假设我想要在or中ls
查看的输出。nano
tilde
我会做以下事情:
ls >> tmp
nano tmp
rm tmp
我不喜欢这样,因为它会创建一个我有时会忘记删除的转储文件。有人这样建议:
ls | less
或者
ls | more
但我不能这样做:
ls | nano
那么如何解决这个问题呢?我需要这个,特别是当涉及到巨大的终端输出时,比如我想在之后进行搜索的当前进程。
假设我想要在or中ls
查看的输出。nano
tilde
我会做以下事情:
ls >> tmp
nano tmp
rm tmp
我不喜欢这样,因为它会创建一个我有时会忘记删除的转储文件。有人这样建议:
ls | less
或者
ls | more
但我不能这样做:
ls | nano
那么如何解决这个问题呢?我需要这个,特别是当涉及到巨大的终端输出时,比如我想在之后进行搜索的当前进程。
许多程序通常
-
用来表示标准输入或标准输出。-
因此,您可以使用文件名在 nano 中打开命令的屏幕输出,如下所示:这仅在您的程序确实支持该约定时才有效。这包括
nano
和vi
在终端上。甚至图形文本编辑器gedit
也支持它。但是,pluma
还是mousepad
不支持它,而是会被指示创建一个名为-
. 在其他情况下,您无法先创建一个常规的中间文件。如果真的需要用波浪号
查看,你可以编写你的想法 在你的
.bashrc
重新加载
.bashrc
用法
如果你有
vipe
,你可以做该程序
vipe
(我相信它代表 vi 管道或视图管道)读取标准输入,打开$EDITOR
它,并在您保存并退出标准输出时写入剩下的任何内容。在 *nix 上,一切都是文件。因此,您可以从文件中读取标准输入。理论上是这样。有些程序有点不确定。
根据编辑器,您可以阅读 /dev/stdin。例如,
cat
可以,但 gedit 抱怨 /dev/stdin 是一个特殊文件,无法编辑。什么适用于这种方法,什么似乎不容易区分。所以只要用你想要的来尝试它,它要么工作,要么不工作。
如果你正在使用
bash
,你可以试试tilde <( ls )
。请参阅中的过程替换。
bash(1)