【问题标题】:Bash: my output is on one line [duplicate]Bash:我的输出在一行[重复]
【发布时间】:2016-11-14 21:36:33
【问题描述】:

我有这段代码可以计算文件中不同大学专业的出现次数:

#!/bin/bash

file=$1
OUT=$( cat $file | cut -d',' -f3 | sort | uniq -c)
echo $OUT

产生这个输出:

4 Computer Information Systems 2 Computer Science 2 History 1 Marketing 2 Social Studies

如何让输出看起来像这样:

4 Computer Information Systems 
2 Computer Science
2 History
1 Marketing
2 Social Studies

每个专业都有自己的路线?

这似乎是一个愚蠢的问题,但我对 bash 脚本非常陌生。 TIA 寻求帮助!

【问题讨论】:

  • echo "$OUT"。引号很重要。
  • 并且不要为您自己的变量使用全大写的名称——这些名称由对 shell 或操作系统有意义的变量使用,而保留至少一个小写字符的名称供应用程序使用。
  • 在此处提问之前,请考虑养成通过shellcheck.net 运行代码的习惯。

标签: linux bash shell cut cat


【解决方案1】:

不要将值分配给变量,这样就可以了:

cut -d',' -f3 "$1" | sort | uniq -c

【讨论】:

  • 用双引号括起来。
  • 是的,我已经进行了编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
  • 2019-12-24
  • 2013-10-01
  • 2020-06-09
相关资源
最近更新 更多