社区
系统维护与使用区
帖子详情
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程序。
...全文
849
21
打赏
收藏
100分讨论在unix上用的去掉windows文件中的换行符(0x0D)的shell或c程序!
问题描述:对于换行,window下用回车换行(0A0D)来表示,unix下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
通用makefile
文件
,编译可执行
程序
,动态静态库
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 开发完成的一个通用makefile,能够同时构建可执行
程序
、动态链接库以及静态链接库,仅需调整相关的源代码
文件
名称并输入需要编译的指令便可以顺利执行编译流程。其
中
包含详尽的注释说明。
项目管理基于进度计划的全过程管控机制设计:施工周期优化与关键路径偏差应对方案
内容概要:本文详细阐述了项目进度计划及其保障措施,涵盖进度管控方案、组织管理机制、进度偏差应对策略以及各类会议与报告制度。通过科学规划实施阶段的工期周期、核心工作内容及交付成果,结合关键路径法、快速跟进等手段进行动态进度控制,并建立项目周会、月度例会、临时会议和书面报告制度,确保信息畅通、问题及时解决。同时制定了进度偏差的多种应对方法和赶工计划,以应对可能发生的延期风险,保障项目在质量前提下按期完成。; 适合人群:从事项目管理、系统集成、信息技术实施等相关工作的项目经理、项目组成员及管理人员。; 使用场景及目标:①用于指导大型信息系统项目的进度计划制定与执行;②帮助项目团队识别进度偏差并采取有效纠偏措施;③提升跨部门协作效率,确保项目各阶段有序推进并顺利验收。; 阅读建议:建议结合实际项目管理实践,重点关注进度控制
程序
、例会机制与偏差应对措施部
分
,理解其在真实项目环境
中
的应用逻辑,并参考文
中
提供的表格和流程优化自身项目的进度管理体系。
mineru-offline-packages.zip.part5
mineru-offline-packages.zip.part5
thelsing/knx(C++,支持 TP/IP/RF,工业级)
GitHub:https://github.com/thelsing/knx 语言:C++11 平台:Linux、ESP32/ESP8266、STM32、RP2040 等 协议:KNX TP、KNXnet/IP、KNX RF 合规:System B,可被 ETS 配置 许可证:GPL-3.0 克隆: bash 运行 git clone https://github.com/thelsing/knx.git
MIQ, OPC SERVER, Mitsubishi Q series PLC communication setup steps
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 MitsubishiPlcProtocol 三菱PLC(Mitsubishi)通讯协议的C#实现,支持FX、Q系列的ASCII-3E、BIN-3E、FX串口格式。 感谢 https://.com/SatohNorio, 这里的MC协议的代码在 https://.com/SatohNorio/McProtocol 的基础上改进得来。 HOW TO USE 将Mitsubishi、FX等目录及其下
文件
直接加到目标项目
中
即可。 下面是读写Q系列的示例代码(ASCII-3E或BIN-3E格式) public static class McTest { private static IMitsubishiPlc _plc = null; public static void Test() { _plc = new McProtocolUdp("192.0.1.254", 8195); _plc.Open(); _plc.Excute("D0,32"); _plc.Excute("M850,32"); _plc.Excute("D001"); _plc.Excute("D126,2"); _plc.Excute("D126..130=0"); _plc.Excute("D10=135"); } } 下面是读写FX系列的测试代码 public class Fx_Test { private FxSerialDeamon _FxSerial; public void OpenPort () { if(_FxSerial == null) { _FxSerial = new FxSerialDe...
系统维护与使用区
19,614
社区成员
74,562
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章