use*_*660 8 bash buffer stdout stdin
echo Hello World | nano - | less
Run Code Online (Sandbox Code Playgroud)
我想在文本编辑器中修改 Hello -> Goodbye。
它不必与纳米一起使用。我坚持使用 nano 读取标准输入,但要求我写入文件(写入 - 创建一个名为 - 的文件)
Gra*_*eme 12
该moreutils包有这样做,叫一个伟大的命令vipe。从手册页:
SYNOPSIS
command1 | vipe | command2
DESCRIPTION
vipe allows you to run your editor in the middle of a unix pipeline and
edit the data that is being piped between programs. Your editor will have
the full data being piped from command1 loaded into it, and when you close
it, that data will be piped into command2.
Run Code Online (Sandbox Code Playgroud)
默认情况下,这将使用该editor命令,该命令通常只是指向默认命令行编辑器的符号链接。您可以通过更改链接(update-alternatives在基于 Debian 的系统上使用)或使用EDITOR环境变量来更改此设置。例如,你可以这样做:
echo Hello World | EDITOR=nano vipe | less
Run Code Online (Sandbox Code Playgroud)
否则,如果特定的文本编辑器不支持这种事情,我认为您只能手动创建一个临时文件,将文件写入该文件,运行编辑器,将文件输入到管道的其余部分,然后删除临时文件。该vipe命令基本上负责所有这些。这很好,但默认情况下该命令很少可用。
| 归档时间: |
|
| 查看次数: |
2344 次 |
| 最近记录: |