有时候遇到按列显示的文本,比如log文件,我们需要删除一些列,显示一些列,使用脚本语言可以很轻松处理,其实用C语言也能很容易解决问题。
问题:一个文本文件log.txt显示了两列数据,中间分隔10个空格,需要删除右边一列,只打印显示左边一列,并保存到文件中
1、Python实现
fd = open('newlog.txt','w')
for (left, write) in [item.split() for item in open('log.txt','r').readlines()]:
print left
fd.write(left+'\n')
fd.close()
2、C实现
#include <stdio.h>
#include <string.h>
#define BUF_SIZE 20
int main(void)
{
char lefBuf[BUF_SIZE];
char wriBuf[BUF_SIZE];
FILE *rfd = fopen("test.txt","r+");
FILE *wfd = fopen("newlog.txt", "w+");
while (!feof(rfd)) {
fscanf(rfd,"%s%s", lefBuf, wriBuf);
fprintf(wfd, "%s\n", lefBuf);
puts(lefBuf);
}
fclose(rfd);
fclose(wfd);
return 0;
}