论坛首页 招聘求职论坛

Linux基本命令面试题

浏览 18918 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (10)
作者 正文
   发表时间:2008-04-24  
[请教]统计文件a.txt中“每个单词”的重复出现次数?若该文件大到几个G又该如何处理?
   发表时间:2008-04-24  
要求几个命令的灵活应用,应该不只一个grep命令这么简单。
0 请登录后投票
   发表时间:2008-04-24  
way1: 拆分成若干小文件多线程处理
way2: 采用压缩算法减小文件体积
0 请登录后投票
   发表时间:2008-04-24  
感觉这道题不容易  很能够衡量出一个人linux的底子
0 请登录后投票
   发表时间:2008-04-25  
nicky_hk 写道
感觉这道题不容易  很能够衡量出一个人linux的底子


你说的Linux底子是Linux command的底子还是利用这些shell command写算法的底子
0 请登录后投票
   发表时间:2008-04-25  
我也碰见一个类似的题目
一个文件内容全部是类似
【202.205.151.21】--【23:59:22】-“HTTP GET”-“Mozila”
。。。。。

让写一个SHELL命令找出上的最多的10个IP。。。

怎么弄?

grep?然后接正则?找出每个ip的访问次数统计然后管道到一个文件里sort然后再tail??

我是实在不会。。。前两天刚刚碰到的题目。。。。
0 请登录后投票
   发表时间:2008-04-28  
mncc 写道
我也碰见一个类似的题目
一个文件内容全部是类似
【202.205.151.21】--【23:59:22】-“HTTP GET”-“Mozila”
。。。。。

让写一个SHELL命令找出上的最多的10个IP。。。

怎么弄?

grep?然后接正则?找出每个ip的访问次数统计然后管道到一个文件里sort然后再tail??

我是实在不会。。。前两天刚刚碰到的题目。。。。


这个简单,使用 awk,sort,uniq
0 请登录后投票
   发表时间:2008-04-28  
awk -F-- 'print $1' 1.txt | sort | uniq -c | sort -r | sed -n '1,10p'
0 请登录后投票
   发表时间:2008-05-04  
刚学bash shell不久
不考虑文件很大的情况
代码写得不简洁
没有code="bash",就写成code="python"了

#!/bin/sh

#定义源文件和临时文件
srcfile=a.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

#删除临时文件
rm $tempfile_words
rm $tempfile_words_uniq

0 请登录后投票
   发表时间:2008-05-04  
tr -s "\t| " "\n" <1.txt|sort|uniq -c
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics