100分讨论在unix上用的去掉windows文件中的换行符(0x0D)的shell或c程序!

cloudred 2001-03-19 04:41:00
加精
问题描述:对于换行,window下用回车换行(0A0D)来表示,unix下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。
...全文
831 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
sarocky 2001-04-20
  • 打赏
  • 举报
回复
找不到 dtox,不知道是哪里的?
cat file1 | sed s/\013$// > file2
cloudred 2001-04-20
  • 打赏
  • 举报
回复
对不起,给分稍晚了!
laowei 2001-04-20
  • 打赏
  • 举报
回复
tr -d "\015" <A >B
or
strings A>B
给分吧
devilhjf 2001-04-20
  • 打赏
  • 举报
回复
可能有点小错误!但大致如此!
devilhjf 2001-04-20
  • 打赏
  • 举报
回复
#!/usr/bin/perl -w

open(FHD,"path/filename");

while(<FHD>){
s/\^M//;
}
close FHD;
laowei 2001-04-19
  • 打赏
  • 举报
回复
tr -d "\r" <src >dest
100分
penguincn 2001-04-12
  • 打赏
  • 举报
回复
这个问题在unix 下不值得讨论,
因为在unix下有太多的工具可以解决它。
用 dtox
tr
awk
perl
vim 的查找替代功能
。。。
都可以搞掂!

penguincn 2001-04-12
  • 打赏
  • 举报
回复
这个问题在unix 下不值得讨论,
因为在unix下有太多的工具可以解决它。
用 dtox
tr
awk
perl
vim 的查找替代功能
。。。
都可以搞掂!

bomb_hero 2001-04-11
  • 打赏
  • 举报
回复
本来就有的啊
dtox filename > filename
hem 2001-04-11
  • 打赏
  • 举报
回复
/* filename: dtox.c */

#include <stdio.h>

void main(int argc, char *argv[])
{
FILE *fr,*fw;
char c;
if(argc!=3){
printf("Usage: %s dosfilename unixfilename\n",argv[0]);
return;
}
if(NULL==(fr=fopen(argv[1],"rb"))){
printf("文件%s不存在!\n",argv[1]);
return;
}
if(NULL==(fw=fopen(argv[2],"wb"))){
printf("不能写文件!\n");
return;
}
while(1){
c=fgetc(fr);
if(feof(fr))
break;
if(c=='\r')/*用'\r'来表示^M也不知道对不对,不对自己改*/
continue;
fputc(c,fw);
}
fclose(fr);
fclose(fw);
}

我修改过的 版权归原主 , 呵呵

cc -o dtox dtox.c ;
然后把 dtox 拷贝到 /usr/bin/ 目录
Daiver 2001-04-10
  • 打赏
  • 举报
回复
用dtox命令就可以了!
dtox 111 >222
Azz1 2001-04-10
  • 打赏
  • 举报
回复
用awk最简单
awk -e'{
gsub($0,...) 好像是 gsub($0, "\015")
printf "%s\n", $0
}' infile > outfile
waq 2001-04-09
  • 打赏
  • 举报
回复
有注释的那一行尾少了 */ 号,加上吧
waq 2001-04-09
  • 打赏
  • 举报
回复
在线编了一个,希望有帮助,主要是理解意思,fopen函数中的第二个参数中有个b字符,表示以二进制方式打开文件,如果不对,把rb和wb写成br和bw,我记不清了,试一试吧

#include <stdio.h>

void main(int argc, char *argv)
{
FILE *fr,*fw;
char c;
if(argc!=3){
printf("Usage: %s dosfilename unixfilename\n",argv);
return;
}
if(NULL==(fr=fopen(argv[1],"rb")){
printf("文件%s不存在!\n",argv[1]);
return;
}
if(NULL==(fw=fopen(argv[2],"wb")){
printf("不能写文件!\n");
return;
}
while(1){
c=fgetc(fr);
if(feof(fr))
break;
if(c=='\r')/*用'\r'来表示^M也不知道对不对,不对自己改
continue;
fputc(fw,c);
}
fclose(fr);
fclose(fw);
}
cloudred 2001-03-23
  • 打赏
  • 举报
回复
007sampras: dtox filename就行?
cloudred 2001-03-23
  • 打赏
  • 举报
回复
有个在windows下用的win->unix的程序,可惜常常进入Unix看文件时,发现文件里有好多^M,不想再退回到windows转换后再退到unix里,退来退去就没兴致搞了!我是unix新手,也想学学unix下的c编程,对诸位高手来说,这个小程序5分钟都用不了吧!呵呵
007sampras 2001-03-23
  • 打赏
  • 举报
回复
# dtox filename
cloudred 2001-03-22
  • 打赏
  • 举报
回复
是呀,就这么简单。
我们头说了:“生活本来就是这么简单!”
Kevin_qing 2001-03-22
  • 打赏
  • 举报
回复
用strchr查找,在替换为space好了
jerrymi 2001-03-22
  • 打赏
  • 举报
回复
用二进制传送文件就没这个问题了
加载更多回复(1)
内容概要:本文围绕“【EI复现】考虑灵活性的数据心微网两阶段鲁棒规划方法(Matlab代码实现)”展开,提出了一种针对数据心微电网的两阶段鲁棒优化规划模型,重点考虑系统在运行过程面临的灵活性需求与不确定性因素。该方法通过构建第一阶段的投资决策与第二阶段的运行调整机制,有效应对源荷双重不确定性,提升微网系统的可靠性与经济性。文采用鲁棒优化理论处理不确定性,并结合Matlab编程实现完整的模型求解流程,提供了可复现的算法代码,便于科研人员验证与拓展。该研究对于高比例可再生能源接入背景下的数据心能源系统规划具有重要参考价值。; 适合人群:具备一定电力系统、优化理论及Matlab编程基础,从事微电网、综合能源系统、鲁棒优化等相关领域研究的研究生、科研人员及工程技术人员(尤其适合有1-3年科研经验者);; 使用场景及目标:① 掌握两阶段鲁棒优化在微网规划的建模思路与数学表达;② 学习如何将灵活性指标融入能源系统规划模型;③ 复现EI级别高水平论文的核心算法,提升科研能力与论文写作水平;④ 为后续开展数据心、智能微网、不确定性优化等方向的研究提供技术积累与代码基础; 阅读建议:建议读者结合文提供的Matlab代码逐行析,理解两阶段鲁棒优化的建模技巧与求解流程,重点关注不确定性集的构建、列与约束生成(C&CG)算法的实现逻辑,并尝试对模型参数或结构进行修改以观察结果变化,从而深化对鲁棒优化机制的理解。
内容概要:本文围绕具有源荷不平衡特性的配电网,研究智能软开关(Soft Open Point, SOP)与储能系统(Energy Storage System, ESS)的联合规划方法。通过构建优化模型,综合考虑配电网布式电源出力与负荷需求之间的时空不匹配问题,利用智能软开关灵活调节功率流动的能力以及储能系统的能量时移特性,实现对配电网潮流的有效调控,提升系统运行的经济性与可靠性。文采用Matlab进行仿真编程,验证所提联合规划方案在降低网络损耗、改善电压质量、提高可再生能源消纳能力等方面的优越性能。; 适合人群:具备电力系统析、优化理论基础及Matlab编程能力的高校研究生、科研人员以及从事智能配电网规划与运行工作的工程技术人员。; 使用场景及目标:①解决高比例布式可再生能源接入背景下配电网源荷不平衡导致的电压越限与潮流倒送问题;②优化配置智能软开关与储能的位置和容量,以实现系统综合成本最小化与运行性能最优化;③为新型配电系统柔性元件的协同规划提供技术参考与仿真工具支持。; 阅读建议:此资源以Matlab代码实现为核心载体,建议读者在理解数学模型与物理机理的基础上,结合实际算例(如IEEE 33节点系统)进行代码调试与结果析,进一步掌握SOP与储能协同作用的内在机制,并可在此基础上拓展多目标优化、不确定性建模等高级功能。

19,615

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧