亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 12326 | 回復(fù): 9
打印 上一主題 下一主題

請教:怎樣修改文本文件某一行的數(shù)據(jù)?? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-12-21 16:52 |只看該作者 |倒序瀏覽
我現(xiàn)在有個文件,每行的內(nèi)容如下:
IP=192.168.1.100
MASK=255.255.255.0
Gateway=192.168.1.1
DNS=192.168.1.1

想修改其中一行數(shù)據(jù),如IP=192.168.1.100修改為IP=192.168.10.100,請教各位大蝦,有啥子好辦法??

論壇徽章:
0
2 [報告]
發(fā)表于 2010-12-21 18:44 |只看該作者
lz沒人幫你?
sed -i 's/IP=192.168.1.100/IP=192.168.10.100/g' file

論壇徽章:
0
3 [報告]
發(fā)表于 2010-12-22 16:17 |只看該作者
回復(fù) 2# samlumengjun


    我是通過代碼操作的,怎樣在C語言中去修改文本文件中的某一行內(nèi)容?

論壇徽章:
34
亥豬
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉雞
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龍
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-11-06 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-11-08 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-11-19 06:20:00黃金圣斗士
日期:2015-11-24 10:43:13
4 [報告]
發(fā)表于 2010-12-22 17:00 |只看該作者
嵌套 shell 么,或者直接 gcc 生成 C

論壇徽章:
0
5 [報告]
發(fā)表于 2010-12-23 11:11 |只看該作者
回復(fù) 3# 狼族狼心


    用c的話稍微難一點,我隨便寫寫,你自己去參照修改一下

#include <stdio.h>
#include <sys/stat.h>
#include <string.h>
#include <stdlib.h>

#define MAX_LEN 256
int main( int argc, char **argv )
{
         FILE *modifile;
         int flen;
         struct stat s;
         char line[MAX_LEN], *buf, *tmp;
         if( lstat( argv[1], &s ) < 0 )
                return;
         flen = s.st_size;   /* 文件長度 */
         buf = (char *)malloc(  flen+100 )  /* 預(yù)留100個字節(jié)可能增加文件長度 */
         if( !buf )
                return;
         memset( buf, 0, flen+100 );
         tmp = buf;    /* 文件小的時候可以不用tmp, 直接strcat拼接字符串 */
         modifile = fopen( argv[1], "r" )
         if( !modifile  )
                return;
         while( !feof(modifile) )
         {
                   if( !fgets( line, MAX_LEN, modifile ) )
                            continue;
                   if( !strstr( line, "IP=" )
                   {
                            strcpy( tmp, line );
                            tmp += strlen( line );
                   }
                   else
                   {
                            sprintf( tmp, "IP=192.168.10.100\n" );
                            tmp += 18; /*  上面這個字符串的長度 */
                    }
          }
          fclose(modifile);
          modifile = fopen( argv[1], "w+" );
          if( !modifile  )
                return;
          fprintf( modifile, "%s", buf );
          free( buf );
          fclose(modifile);
}

論壇徽章:
0
6 [報告]
發(fā)表于 2010-12-23 11:50 |只看該作者
操作文本文件...用C來寫...  LZ也太勤快了...
       隨便抓個支持正則表示的語言來寫或者直接用現(xiàn)成的工具來做...

論壇徽章:
0
7 [報告]
發(fā)表于 2010-12-23 12:45 |只看該作者
ls
我記得有人說過類似c語言就是盯著一個字符,然后處理,接著再盯著下一個,原話大意就是c是最擅長處理字符的吧。
處理正則表達(dá)式的很多工具還不照樣是c寫的。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
8 [報告]
發(fā)表于 2010-12-24 13:07 |只看該作者
有必要嗎?這個用c來寫。

論壇徽章:
0
9 [報告]
發(fā)表于 2010-12-27 11:05 |只看該作者
回復(fù)  狼族狼心


    用c的話稍微難一點,我隨便寫寫,你自己去參照修改一下

#include
#include
...
samlumengjun 發(fā)表于 2010-12-23 11:11



    五樓的這個恐怕不行吧如果文件達(dá)到幾十兆上百兆甚至多少G你的這個malloc能成功嗎?我有點擔(dān)心啊。最好寫到另外的一個文件中申請空間也不要以文件大小決定,就是固定的大小。然后搜索

論壇徽章:
0
10 [報告]
發(fā)表于 2010-12-28 02:22 |只看該作者
回復(fù)  狼族狼心


    用c的話稍微難一點,我隨便寫寫,你自己去參照修改一下

#include
#include
...
samlumengjun 發(fā)表于 2010-12-23 11:11

神人, 膜拜
為了這個回帖, 你居然專門貼了段代碼..
跪拜!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP