基于LINUX系统,分别用C程序和SHELL脚本来实现(C程序优先)

LinuxNewbi 发布于 2012/07/30 13:48
阅读 738
收藏 2
1. 程序or脚本每天定时扫描源目录 
   源目录中有类似如下的用户信息文件 
       user_info_20120710.txt.Z 
       user_info_20120711.txt.Z 
       user_info_20120712.txt.Z 
       user_info_20120713.txt.Z 
           。。。 
           。。。 
   用户信息文件为打包格式,带后缀.Z,文件命名规则为user_info_YYMMDD.txt.Z 
   YY为年份后两位,MM为月,DD为日期。 
   用户信息文件的每一行为一个用户的信息。 
2. 如果有新增日期的用户信息文件,解压之,保存到目的目录,在目的目录下以日期来创建子目录,将用户信息文件保存在此目录下。 
3. 需要程序or脚本可配置按记录数将原始的已解压的用户信息文件拆分为多个子文件,生成的用户信息文件命名规则如下:YYYYMMDD.XXXXXX.txt,XXXXXX为子用户信息文件序号,从0到999999。 
(注:user_info_YYMMDD.txt.Z是百千万行数量级的) 
要求: 
1.请基于linux操作系统,用C程序和SHELL脚本分别实现上述功能。(优先使用C程序编写) 
2.源目录和目的目录可配置,子文件的行数可配置。 
3.如果用C程序实现,考虑到文件多,且比较大,请用多线程原理,并用makefile编译。(配置请单独放到配置文件中) 
4.如果SHELL脚本实现,请设置成定时任务,并编写安装手册。(内容包括如何设置定时任务,如何使用脚本,脚本所带参数的含义) 
加载中
0
情天大圣
L
LinuxNewbi
回复 @leo108 : 我想自己弄出来,想知道需要一些什么知识。没有什么经验,还望大虾指点
leo108
leo108
回复 @linuxx : 我们把代码给你你就会了?
L
LinuxNewbi
新手上路,真不会,不知道用到一些什么东西
0
中山野鬼
中山野鬼
这事我劝你C和脚本和起来实现。C处理那些需求中没有提到,但必须要做的事情,脚本就针对需求快速堆砌。否则,无论就如楼上说的,2了。。。哈
L
LinuxNewbi
谢谢,我现在在看文件操作了
0
泡不烂的凉粉
泡不烂的凉粉

shell脚本实现是不2之选。 貌似无一点难度。 无非是一个循环,拆文件名到格式,判断对应目录是否存在,执行.z解压。

两个变量,一个源目录,一个目标目录。 shell 脚本,用任何语言都不算难, 这个脚本处理平颈在磁盘io上,cpu就算再快,还是要等磁盘io处理结束才行。

L
LinuxNewbi
嗯谢谢你,我也知道shell会快很多,可能力有限,实在弄不出来,大虾有时间的话给我指点一二
0
剑尖血凝紫
剑尖血凝紫

找资料自己弄吧

shell的话不是很难

0
z
zippon

纯文本处理么,各种工具上就行了。

awk, sed, paste .....

 

L
LinuxNewbi
是纯文本处理,文本里存的是一条一条的用户信息,只是信息量很大
0
天国之翼
天国之翼

Your Work You Do !

这是网络管理必须的基础能力啊

 

L
LinuxNewbi
嗯 差的知识太多了,不行就先回家看几年的书把
ddatsh
ddatsh
+1
0
Liuxd
Liuxd
这不是经典的SHELL脚本发挥的场景吗?干嘛扯上C?故意的吗?
L
LinuxNewbi
要求是可以的话两种都写,最好使用c语言
0
AliceCode
AliceCode
Mark,我太忙,隔几天放假给你弄
0
月影又无痕
月影又无痕
实际环境中,这种需求一定要使用shell。使用C编写程序,完全没有必要。
返回顶部
顶部