#include <stdio.h>
#include <string.h>
#include <unistd.h>
/*****************************************************************
*Function: get_system_output
*Description:call the system command,gets the return value of the command.
*Input:cmd
*Input:size
*Output:output
*****************************************************************/
static int get_system_output(char *cmd, char *output, int size)
{
FILE *fp=NULL;
fp = popen(cmd, "r");
if (fp)
{
if(fgets(output, size, fp) != NULL)
{
if(output[strlen(output)-1] == '\n')
output[strlen(output)-1] = '\0';
}
pclose(fp);
}
return 0;
}
int main(int argc, char **argv)
{
char *p_file="./data.txt";
char *p_file_bck="./data.bck";
FILE *f=NULL;
char str[1024]={0};
char line_buffer[1024]={0};
char *p_line_buffer = NULL;
char *pcmd = NULL;
char cmd[1024]={0};
char file_info[64][1024]={'0'};
char *p=NULL;
int number=0,j=0;
if (access(p_file,R_OK) !=0 )
{
printf(">>>>>>>>>>./data.txt ERROR! \n");
return;
}
system("awk '{print($2)}' ./data.txt > ./data.bck");
system("cat -n ./data.bck");
printf("--------------------------------------------------------------------------------------------------------\n\n");
if ((f = fopen(p_file_bck, "r")) != NULL)
{
while (fgets(line_buffer,sizeof(line_buffer),f),!feof(f)) // If the file ends, the value of the function feof(fp) is non-zero, otherwise not file end 0.
{
// fgets(line_buffer,sizeof(line_buffer),f); //fread(line_buffer, 1024, 1, f);
number++;
memset(str, 0x0, sizeof(str));
strcpy(str, line_buffer);
if ( (str[strlen(str)-2] == '\n') || (str[strlen(str)-2] == '\r') )
str[strlen(str)-2]='\0';
if ( (str[strlen(str)-1] == '\n') || (str[strlen(str)-1] == '\r') )
str[strlen(str)-1]='\0';
//copy to ~/lin/push_code/
memset(&cmd, 0x0, sizeof(cmd));
strcat(cmd, "cp ");
strcat(cmd, str);
strcat(cmd, " ~/lin/push_code/");
printf("copy to %d: %s\n", number, cmd);
system(cmd);
#if 1
//svn di to ~/lin/push_code/
memset(&cmd, 0x0, sizeof(cmd));
strcat(cmd, "svn di ");
strcat(cmd, str);
strcat(cmd, " > ~/lin/push_code/diff");
p = strrchr(str, '/');
//printf("###p:\n%s\n",p);
strcat(cmd, p);
printf("svn di %d: %s\n", number, cmd);
system(cmd);
#endif
}
printf("\n-----------------------------------------------ok------------------------------------------------------\n\n");
}
else
{
printf(">>>>>>>>>>./data.txt ERROR!! \n");
}
return 0;
}
M package/ramips/appcustom/confapp/src/confapp.h
M package/ramips/appcustom/confapp/src/main.c
M package/ramips/appcustom/confapp/www/default/html/internet/ap_list.html
M package/ramips/appcustom/confapp/www/default/html/internet/network.html
输出结果:
lbo@donglebuild2:~/work/code/code/openwrt7621/trunk/base$ ./exe
1 package/ramips/appcustom/confapp/src/confapp.h
2 package/ramips/appcustom/confapp/src/main.c
3 package/ramips/appcustom/confapp/www/default/html/internet/ap_list.html
4 package/ramips/appcustom/confapp/www/default/html/internet/network.html
--------------------------------------------------------------------------------------------------------
copy to 1: cp package/ramips/appcustom/confapp/src/confapp.h ~/lin/push_code/
svn di 1: svn di package/ramips/appcustom/confapp/src/confapp.h > ~/lin/push_code/diff/confapp.h
copy to 2: cp package/ramips/appcustom/confapp/src/main.c ~/lin/push_code/
svn di 2: svn di package/ramips/appcustom/confapp/src/main.c > ~/lin/push_code/diff/main.c
copy to 3: cp package/ramips/appcustom/confapp/www/default/html/internet/ap_list.html ~/lin/push_code/
svn di 3: svn di package/ramips/appcustom/confapp/www/default/html/internet/ap_list.html > ~/lin/push_code/diff/ap_list.html
copy to 4: cp package/ramips/appcustom/confapp/www/default/html/internet/network.html ~/lin/push_code/
svn di 4: svn di package/ramips/appcustom/confapp/www/default/html/internet/network.html > ~/lin/push_code/diff/network.html
-----------------------------------------------ok------------------------------------------------------