有时,我有命令行脚本的输出,我希望使用cli工具进一步处理/筛选。我无法重新运行该命令,因为它需要很长时间,或者不会再次产生相同的输出。
目前,我将输出粘贴到文本编辑器中的一个新文件中,保存它,然后在cli上使用cat将其输送到tr、sed和其他工具中。这太麻烦了。
对于这样的文本处理任务,有更快的方法吗?
发布于 2022-07-25 12:12:18
正如@muru建议的那样,我现在使用了一个剪贴板到shell工具:xsel。
当我发现cli输出需要进一步损坏时,我选择并使用ctrl+shift+c将其复制到剪贴板上。然后使用xsel -b (= xsel --clipboard)将其作为标准输入粘贴到其他工具中:
$ xsel -b | grep foo | sed s/bar/baz/这是一种不需要设置就能在任何地方工作的解决方案。
发布于 2022-07-22 11:19:43
您可以做与您描述的完全相同的事情,但不使用文件,也不使用编辑器。只是不要将文件名指定为cat命令的参数。这意味着cat将从stdin中读取。然后,在过滤器管道等待的情况下,您只需将文本粘贴到终端,然后按CTRL-D键关闭cat的stdin。
缺点是过滤后的输出与输入文本混在一起。不过,如果过滤器将输出存储到某个文件中,这并不会造成损害。
https://unix.stackexchange.com/questions/710829
复制相似问题