【问题标题】:How do I print out the longest word in a file that appears at least 10 times [closed]如何打印出文件中出现至少 10 次的最长单词 [关闭]
【发布时间】:2020-03-03 23:42:14
【问题描述】:

正如标题所说:什么是 bash 命令,用于打印文本文件中出现至少 10 次的最长单词。

【问题讨论】:

  • 嗨,丹尼斯,你应该自己尝试一下你的家庭作业。如果您提供示例输入、一个尝试获得您正在寻找的结果的程序以及示例输出,这里的人们将尝试帮助您解决您的编程问题。我在这里找到了一个将输入文件分解为单词的小代码:stackoverflow.com/questions/25158710/…。如果您稍微更改接受的答案程序,您可以让 awk 程序打印出所有单词及其长度。然后排序和计数。

标签: bash


【解决方案1】:

试试这个丹尼斯:

tr -s " " "\n" < file | while read -r l; do echo "${#l} $l"; done | sort -n | awk '$1 >= 10 ' | awk '{print $2}' | tail -n1

【讨论】:

  • 这只会打印出最长的单词。
  • 是的,它会打印出现至少 10 次的最长单词。 (“用于打印出文本文件中出现至少 10 次的最长单词的 bash 命令是什么”)。如果您想要出现至少 10 次的单词列表,请从末尾删除 | tail -n1
  • 我在几个文件上测试了这个 bash 脚本。 awk '$1 >= 10 ' 似乎在做的是寻找长度至少为 10 的单词。当我删除 tail -n1 时,它会打印出至少该长度的所有单词。
猜你喜欢
  • 2017-02-15
  • 1970-01-01
  • 2019-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多