Linux同时输出到管道和标准输出

想使用Shell脚本对某文本文件中无序的一列数字排序并输出求和结果,文本如下所示:

4
2
1
3
50

开头的命令只能输出求和结果,不能同时输出排序结果:

[En]

The command used at the beginning can only output the sum result, not the sort result at the same time:

sort -nr t3.txt | awk '{sum+=$1} END {print "sum="sum}'

该命令输出sum=60,无排序结果。原因是sort命令的输出仅仅通过管道传递给了awk命令,而没有输出到标准输出。这里需要同时向管道和标准输出进行输出操作。
首先想到了tee命令,该命令可以从标准输入读入数据,并输出到标准输出和文件。
在这里,您还需要借用标准错误输出来输出排序结果。代码如下:

[En]

Here, you also need to borrow the standard error output to output the sorted result. The code is as follows:

sort -nr t3.txt | tee /dev/stderr | awk '{sum+=$1} END {print "sum="sum}'

这是一个简单的示意图。

Linux同时输出到管道和标准输出
通过这种方式,实现了课题的需求。
[En]

In this way, the needs of the topic are realized.

Original: https://www.cnblogs.com/a-tester/p/15995608.html
Author: ATester
Title: Linux同时输出到管道和标准输出

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523996/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 博客怎么写才能更安全和简洁

    前言 博客实现本地存储 Markdown语法的介绍 博客对于我们普通人来说就是为了更好的去实现个人知识的一个整理融合然后把知识共享可以帮助其他去实现自己的一些工作或者学习中的一些疑…

    Linux 2023年6月14日
    076
  • shell中的##*,%%*问题

    假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#/}:删掉第一个 / 及其左边的字符串…

    Linux 2023年5月28日
    064
  • 【Linux】socket通信编程

    socket通信 * – socket简介 – socket操作API函数 – 代码实现 socket简介 网络层的”ip地址&#8…

    Linux 2023年6月13日
    078
  • web安全之反向代理配置X-Frame-Options实现防盗链和防止点击劫持攻击

    介绍 http响应头安全策略,从http头文件的方面,利用参数设置开启浏览器的安全策略,来实现相关的安全机制 X-Frame-Options HTTP响&am…

    Linux 2023年6月6日
    0109
  • linux中查找nginx指定时间范围内的日志信息

    需求:在nginx中过滤出凌晨3:18-6:36的日志信息1、使用sed方式过滤注意:此方式开始和结束时间必须要在日志中真实存在,否则会匹配不到内容或匹配到末尾 sed -n ‘/…

    Linux 2023年6月6日
    074
  • git 的使用

    git 的使用 1、介绍 代码版本管理、协同开发 对文件(代码)进行版本管理 完成协同开发 项目,帮助程序员整合代码 i)帮助开发者合并开发的代码 ii)如果出现冲突代码的合并,会…

    Linux 2023年6月14日
    085
  • Python subprocess的使用

    前言 部门内部存在大量代码使用Python去调用Shell或者JS脚本,因此重度依赖subprocess(使用Google的subprocess32),在使用subprocess的…

    Linux 2023年6月7日
    075
  • Xshell中用./startup.sh启动时候提示权限不够

    授予脚本权限 chmod u+x *.sh 或者使用 chmod 777 ./service-demo.sh Original: https://www.cnblogs.com/q…

    Linux 2023年5月28日
    073
  • 操作系统实现-boot.asm实现

    博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935 这一次我们进入操作系统实现的真实编码, 这一次主要是完善对boot.asm…

    Linux 2023年6月13日
    0121
  • 解决Conda改源后无法安装软件包的问题

    前言 有时候哪怕修改了 Conda 源也一直无法安装一个想要的软件包,亦或者找到了目标软件包,下载速度却很慢,速度感人,也可能直接 Conda 就找不到你想安装的软件包 此时有两种…

    Linux 2023年6月14日
    080
  • 节约内存:Instagram的Redis实践(转)

    1.M emcached 内存Key-Value Cache Redis 内存数据库 四,节约内存:Instagram的Redis实践 Instagram可以说是网拍App的始祖级…

    Linux 2023年5月28日
    086
  • 【C++基础】内存分区模型

    内存分区模型 C++程序在执行时,将内存大致划分为 4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理 全局区:存放 全局变量和 静态变量以及 常量 栈区:由 编译器自动…

    Linux 2023年6月13日
    074
  • LDD3第三章学习笔记

    思维导图 需求 实现一个设备/dev/scull,这个设备能用dd, cp, cat和Shell的IO重定向功能操作。 设备号 Linux用主次两个设备号去唯一的表示一个设备。其中…

    Linux 2023年6月7日
    082
  • muduo源码分析之muduo简单运用

    今天不先实现 muduo项目,我们先来看下 muduo库的基本使用,只有了解了如何用,才能在写代码的时候知道自己写的找个函数是干嘛的,实际上是怎么使用的这个函数。首先说简单点,就是…

    Linux 2023年6月13日
    077
  • shell脚本中 /dev/null 的用途

    /dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据 可以将它 视为一个黑洞, 它等效于只写文件, 写入其中的所有内容都会消失, 尝试从中读取或输出不会有任何结果,同…

    Linux 2023年6月13日
    087
  • Redis 全局通用命令整理

    转载请注明出处: 1.查看所有键 该命令会存在线程阻塞问题,keys 命令也可以通过正则匹配获取存在的缓存数据 Redis从2.8版本后,提供了一个新的命令scan,它能有效的解决…

    Linux 2023年5月28日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球