python与awk
来源:互联网 发布:java switch参数 编辑:程序博客网 时间:2024/06/05 17:46
今天时老师让我们把学生上传在ftp服务器上的作业验收一下,看一下谁没交。登录服务器一看发现,这么多文档,如果一个一个对着学号找,是多么费时间的一件事,于是就琢磨着写个脚本把所有的学号从服务器段扒下来,然后将学号排个序,这样就节省不少时间。
可是,之前看过的python知识点都忘却了不少,于是在网上找了个代码
代码如下:
//test.py//function: 从服务器端将目录下的文件信息全部读入本地文件from ftplib import FTPf=FTP('ftp.xxx.cn')f.login('id','passwd')f_handle=open("txt","wb").writef.retrbinary('LIST',f_handle)f.quit()
也就这简单的6行代码,文件信息存于txt文件中(脚本语言实现起来比C/C++/Java要简单多了)
将txt文件中的信息适当修改,就是把两个学号之间的“-”或是“&”换成".",来作为统一的分割符
awk '{print $9}' > tmp //该命令把txt文件的第九列(学生上传的文件名)存入tmp文件中
awk 'BEGIN {FS="."} {i=1;while(i<=NF){if($i ~ /[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/)print $i;} i++}' tmp | sort > result.txt
上面的一条命令是把tmp文件的信息取出学号并进行排序,排序后的信息存与result.txt文件中
打开result.txt文件,就可以很快的找到哪个学生没交了。顺序查看毕竟比在一堆杂乱的信息中找轻松很多
上面的过程感觉还是有点繁琐,我的目标是写一个python脚本,执行该脚本就能吧最后的排好序的信息存在result.txt中,可是python不是很熟,所以要好好补补
另外,最后一条awk命令中的匹配判断if($i ~ /[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/) 我写成if($i ~ /[0-9]{8})却不行,目前还没弄明白是怎么回事。
最后以及总之,脚本语言很方便,很好使。
- python与awk
- AWK----awk与shell交互
- awk与sed
- awk NR与FNR
- awk NR与FNR
- awk与csv小记
- awk NR与FNR
- awk与getline
- shell与awk
- ping与awk
- sed与awk
- [linux]sed与awk
- Awk 与 运算符
- awk与正则表达式
- awk与sort实践
- awk与shell
- cut与awk
- awk与sed
- linux 下出现:open_basedir restriction in effect
- 雪铁龙全新爱丽舍车市“搅局”
- Android中实现滑动翻页—使用ViewFlipper
- Selenium 2入门
- 论NOKIA的倒掉
- python与awk
- java里String.valueOf()方法的使用
- perfgeeks
- 三种线性排序算法 计数排序、桶排序与基数排序
- 向android手机通讯录中添加信息
- MonoBehaviour的实例池
- Redis 与 Memcache
- FusionChart参数
- oioiuhjk