当前位置: 技术问答>linux和unix
文件改写问题
来源: 互联网 发布时间:2015-05-13
本文导语: 问题描述 现有一文本文件格式大致如下: 1234,ss.123456,12345,12345,ssssss 1234,ss.123456,12345,12345,ssssss 1234,ss.123456,12345,12345,ssssss 1234,ss.123456,12345,12345,ssssss 1234,ss.123456,12345,12345,ssssss ... 要求: 将该文件该成如下格式 1234...
问题描述
现有一文本文件格式大致如下:
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
...
要求:
将该文件该成如下格式
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
...
可有什么简便的方法实现?
给出源代码
多谢
现有一文本文件格式大致如下:
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
1234,ss.123456,12345,12345,ssssss
...
要求:
将该文件该成如下格式
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
1234,ss.123456,12345,12345,ssssss,123
...
可有什么简便的方法实现?
给出源代码
多谢
|
fwrite(line,sizeof(char),1000000,stream);
写了这么多当然不对。
fgets读出的内容末尾有"n"。添加后用fputs写入文件。注意最后要添加''。
写了这么多当然不对。
fgets读出的内容末尾有"n"。添加后用fputs写入文件。注意最后要添加''。
|
边读边写是有问题的,写入的东西会把之后的数据覆盖掉。全部读出来处理完再写入就行了。
|
我没看错的话,只是一个简单的替换问题,即"ssssss"替换为"ssssss,123"
用sed不就行了吗?
sed "s/ssssss/ssssss,123/g" oldfile >newfile
newfile文件的内容即满足要求
或者用vi打开该文件
执行替换命令同样可以实现这个功能。
用sed不就行了吗?
sed "s/ssssss/ssssss,123/g" oldfile >newfile
newfile文件的内容即满足要求
或者用vi打开该文件
执行替换命令同样可以实现这个功能。