繁体   English   中英

在终端中查看命令行表达式的实时结果吗?

[英]See live results of command line expression in the terminal?

我经常发现自己正在编写一个长的bash或zsh命令,该命令本身还不够长,无法成为脚本。 例如,当我调试sed表达式时,我经常更改一个字符并重新运行命令以查看输出如何变化:

$ echo "123 eyes on me" | sed -E 's/[[:alnum:]*]//'
23 eyes on me
$ echo "123 eyes on me" | sed -E 's/[[:alnum:]]*//'
 eyes on me
$ echo "123 eyes on me" | sed -E 's/[[:alnum:] ]*//'

$ echo "123 eyes on me" | sed -E 's/[[:digit:] ]*//'
eyes on me

即使了解终端的vi-mode和熟练程度,也要编辑以前的命令并每次重新运行它也是很麻烦的。 我宁愿只是就地编辑参数,并实时查看其效果。

有一些网站针对特定用例提供了此类工具,例如使用正则表达式匹配:

在此处输入图片说明

其他示例包括JSON linter,计算器或YAML解析器。 但是,这些都存在多个问题:

  • 它们不是通用的,也不便于整体开发命令,如果我想将regex输出传递给tr ,然后再使用awk选择第三列,该怎么办?
  • 可能与我在终端中的命令有所不同
  • 它在在线浏览器中运行,而不是在我的终端中运行
  • 不开源

有什么方法可以在终端中实时开发命令行表达式并在输入时查看输出?

我通常只是将代码放入sed.sh

echo "testing 123" | sed 's/123/456/'

然后在终端中观察该文件的执行情况:

watch -n1 './sed.sh'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM