启动Nano编辑器传递管道命令

dav*_*rtu 5 unix linux bash shell nano

这是一种好奇心。我可以通过管道命令从bash启动nano编辑器吗?这是我的情况:我有一个日志文件,其日期格式为tai64。为了打印我的文件,我启动:

$> cat /var/log/qmail/current | tai64nlocal
Run Code Online (Sandbox Code Playgroud)

打印我想要的。但是我想用一个命令在nano或其他编辑器中查看此内容。例如:

$> cat /var/log/qmail/current | tai64nlocal > nano
Run Code Online (Sandbox Code Playgroud)

但这不起作用。有什么建议吗?提前致谢

kon*_*box 5

使用进程替换:

nano <(cat /var/log/qmail/current | tai64nlocal)
Run Code Online (Sandbox Code Playgroud)

另外,你不需要使用 cat

nano <(tai64nlocal < /var/log/qmail/current)
Run Code Online (Sandbox Code Playgroud)


uml*_*ute 5

如果要nano打开,请stdin使用破折号 ( -):

echo "foo" | nano -
Run Code Online (Sandbox Code Playgroud)

在你的情况下,这将转化为

cat /var/log/qmail/current | tai64nlocal | nano -
Run Code Online (Sandbox Code Playgroud)