`

主题:Linux基本命令面试题:统计文件a.txt中“每个单词”的重复出现次数

阅读更多
[请教]统计文件a.txt中“每个单词”的重复出现次数?若该文件大到几个G又该如何处理?

方案一:

#!/bin/sh  
 
#定义源文件和临时文件  
srcfile=word.txt  
tempfile_words=tempfile_words  
tempfile_words_uniq=tempfile_words_uniq  
 
#取出所有单词,存入临时文件$tempfile_words,一行一个单词  
#去除$tempfile_words中重复单词,并把换行符替换为空格,存入临时文件$tempfile_words_uniq  
tr "[\015]" "[\n]"<$srcfile|sed 's/[^0-9a-zA-Z ]*\([0-9a-zA-Z]*\)[^0-9a-zA-Z]*/\1\n/g'|sed '/^$/d'>$tempfile_words  
sort $tempfile_words|uniq|tr "[\n]" "[ ]">$tempfile_words_uniq  
 
#遍历所有单词,统计数目  
words=$(cat $tempfile_words_uniq)  
for word in $words  
do  
    word_num=$(grep $word $tempfile_words|wc -l)  
    echo $word $word_num  
done  

方案二:

tr -s "\t| " "\n" <word.txt|sort|uniq -c
分享到:
评论

相关推荐

    linux运维学习笔记:企业Shell面试题总结-1.pdf

    根据提供的文件信息,本文将总结其中的Linux运维学习笔记中提及的多个企业Shell面试题及其解决方案和知识点。 1. 批量生成随机字符文件名案例 该案例主要考察使用Shell脚本批量创建文件,并为每个文件赋予随机生成...

    linux运维工程师模拟面试题卷二

    ### Linux运维工程师模拟面试题知识点解析 #### 一、填空题知识点解析 1. **查看、修改IP地址信息的命令** - **知识点**: `ifconfig` 和 `ip addr` - `ifconfig`: 早期Linux系统常用的命令,用于显示或配置网络...

    Linux 面试题感觉挺好的

    ### Linux面试题解析 #### 路由添加命令的理解 在给定的内容中,提到了`route add`命令,这是在Linux系统中用于配置静态路由的一种方式。下面逐一解析每条命令: 1. **BrouteaddCnet192.168.1.0gw192.168.1.1...

    艾默生面试题_嵌入式-常用知识&面试题库_大厂面试真题.doc

    本资源摘要信息涵盖了嵌入式系统、面试题、C++、数据结构、通信协议、Linux 系统、makefile、shell 脚本等多个方面的知识点。 一、C++ 基础知识 1. 指针与引用的区别:指针是一种数据类型,用于存储其他变量的内存...

    网易DBA面试题仅供参考

    - 查找单词出现次数:使用`more`预览文件,`grep`过滤出含有特定单词的行,`-o`选项只输出匹配部分,`-w`确保匹配整个单词,`wc -l`计算行数,即单词出现次数。 - Linux核心参数:`kernel.shmall`和`kernel.shmmax...

    史上最全的大数据面试题,大数据开发者必看.docx

    在Spark版本中,首先创建SparkConf和SparkContext,然后读取文本文件,通过flatMap将每行拆分为单词,使用map为每个单词添加计数1,reduceByKey进行单词聚合,最后sortByKey并打印结果。Spark SQL版本则是通过...

    java面试题大全(2012版)

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    太和时代_嵌入式-常用知识&面试题库_大厂面试真题.doc

    使用哈希表(如`struct`或关联数组)记录每个单词及其出现次数,最后按频率排序并打印。 4. **高通滤波算法**:在信号处理中,高通滤波器用于去除低频成分,保留高频成分。C语言实现可能涉及数字滤波器设计,如...

    太格时代试题_嵌入式-常用知识&面试题库_大厂面试真题.doc

    这个题目要求设计一个结构体来存储从终端输入的单词,并统计每个单词的出现频率。在C或C++中,可以创建一个结构体,包含单词本身和其出现次数两个字段。读取终端输入时,可以使用`fgets()`或`scanf()`函数,然后通过...

    168 道2019年最新的Python面试题,让你最短时间内掌握核心点.docx

    6. **统计字符串单词频率**:通过split()分割字符串为单词列表,然后使用字典统计每个单词的出现次数。 7. **删除文件**:Python中,os.remove()或shutil.rmtree()可以删除文件,Linux命令如rm -rf删除文件。 8. *...

    Python面试题.doc

    1. 常用的Linux命令:如ls(列出目录内容)、cd(切换目录)、mkdir(创建目录)、rm(删除文件或目录)、cp(复制文件或目录)、mv(移动或重命名文件或目录)、vi/vim(文本编辑器)、grep(搜索文件中的模式)等...

    恒光科技_嵌入式-常用知识&面试题库_大厂面试真题.doc

    重复的单词只计算一次,可以使用哈希表的特性,键对应单词,值记录出现次数。 4. **对内存地址赋值**: 在C语言中,可以使用指针操作内存。例如,`*(int*)0x67a9 = 0x55665566;` 表示将0x67a9地址处的整型变量设置...

    168 道2019年最新的Python面试题,让你最短时间内掌握核心点.pdf

    6. **统计单词频率**:可以使用`split()`方法分割字符串成单词,然后用字典存储每个单词出现的次数。 7. **删除文件**:Python中可以使用`os.remove()`来删除文件,而在Linux中,使用`rm`命令。 8. **自定义异常**...

    10万字总结java面试题和答案.pdf

    Java面试题和答案总结 本资源总结了 Java 面试题和答案,涵盖了 Java 基础知识、Java 语言特点、基本数据类型、面向对象编程、标识符命名规则、instanceof 关键字、自动装箱与拆箱等多个方面。 一、Java 语言特点 ...

    java面试宝典2012

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 67 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    Java工程师美团面试题.pdf

    - **微服务**:一种架构风格,将单一应用程序开发为一组小的服务,每个服务运行在其自己的进程中并通信通常通过HTTP资源API。服务由业务功能组织,自动部署,智能监控,去中心化管理和独立技术栈。 ### 二、分布式...

    Shell-整理的面试题及答案

    给定一个名为`words.txt`的文件,我们需要统计其中每个单词出现的次数,并按照词频降序排列。这个问题可以通过`awk`命令解决。使用`awk`来分割文件中的每一行,并为每个单词创建一个数组元素,累加对应的值。然后...

Global site tag (gtag.js) - Google Analytics