有时候遇到按列显示的文本,比如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;
}