Linux命令学习总结:dos2unix - unix2dos
2015-12-26 13:31
405 查看
命令简介:dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n,而Unix&Linux文件的换行符为\n.dos2unix命令其实就是将文件中的\r\n转换为\n。而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。命令语法:dos2unix[options][-cconvmode][-ofile...][-ninfileoutfile...]unix2dos[options][-cconvmode][-ofile...][-ninfileoutfile...]命令参数:此命令参数是RedHatEnterpriseLinuxServerrelease5.7下dos2unix命令参数,不同版本Linux的dos2nnix命令参数有可能不同。
使用示例:
1:查看dos2unix命令的帮助信息
2:dos2unixfilename将Windows格式文本转换为Unix&Linux格式文件
3:dos2unix可以一次转换多个文件
4:默认情况下会在源文件上进行转换,如果需要保留源文件,那么可以使用参数-ndos2unix-noldfilenamenewfilename
5:保持文件时间戳不变
6:静默模式格式化文件
dos2unix的下载地址为http://sourceforge.net/projects/dos2unix/,可以从上面下载最新版本的dos2unix、unix2dos等命令工具以及相关文档,dos2unix的源码如下所示
参数 | 长参数 | 描叙 |
-h | 显示命令dos2unix联机帮助信息。 | |
-k | 保持文件时间戳不变 | |
-q | 静默模式,不输出转换结果信息等 | |
-V | 显示命令版本信息 | |
-c | 转换模式 | |
-o | 在源文件转换,默认参数 | |
-n | 保留原本的旧档,将转换后的内容输出到新档案.默认都会直接在原来的文件上修改, |
1:查看dos2unix命令的帮助信息
[root@DB-Servermyscript]#mandos2unix
[root@DB-Servermyscript]#dos2unix-h
dos2unixCopyright(c)1994-1995BenjaminLin
Copyright(c)1998BerndJohannesWuebben(Version3.0)
Copyright(c)1998ChristianWurll(Version3.1)
Usage:dos2unix[-hkqV][-cconvmode][-ofile...][-ninfileoutfile...]
-h--helpgivethishelp
-k--keepdatekeepoutputfiledate
-q--quietquietmode,suppressallwarnings
alwaysoninstdin->stdoutmode
-V--versiondisplayversionnumber
-c--convmodeconversionmode
convmodeASCII,7bit,ISO,Mac,defaulttoASCII
-l--newlineaddadditionalnewlineinallbutMacconvmode
-o--oldfilewritetooldfile
file...filestoconvertinoldfilemode
-n--newfilewritetonewfile
infileoriginalfileinnewfilemode
outfileoutputfileinnewfilemode
2:dos2unixfilename将Windows格式文本转换为Unix&Linux格式文件
[root@DB-Servermyscript]#cat-vtest.sh
./home/oracle/.bash_profile^M
echo''^M
date^M
echo''^M
^M
sqlplustest/test@/home/oracle/scripts/test.sql^M
^M
echo''^M
date^M
echo''^M
[root@DB-Servermyscript]#dos2unixtest.sh
dos2unix:convertingfiletest.shtoUNIXformat...
[root@DB-Servermyscript]#cat-vtest.sh
./home/oracle/.bash_profile
echo''
date
echo''
sqlplustest/test@/home/oracle/scripts/test.sql
echo''
date
echo''
3:dos2unix可以一次转换多个文件
dos2unixfilename1filename2filename3
4:默认情况下会在源文件上进行转换,如果需要保留源文件,那么可以使用参数-ndos2unix-noldfilenamenewfilename
[root@DB-Servermyscript]#dos2unix-ndosfilelinuxfile
dos2unix:convertingfiledosfiletofilelinuxfileinUNIXformat...
[root@DB-Servermyscript]#cat-vdosfile
itisawindowsdosfile^M
youshouldconverttounix&linuxformat^M
[root@DB-Servermyscript]#cat-vlinuxfile
itisawindowsdosfile
youshouldconverttounix&linuxformat
[root@DB-Servermyscript]#
5:保持文件时间戳不变
[root@DB-Servermyscript]#ls-lrtdosfile
-rw-r--r--1rootroot67Dec2611:46dosfile
[root@DB-Servermyscript]#dos2unixdosfile
dos2unix:convertingfiledosfiletoUNIXformat...
[root@DB-Servermyscript]#ls-lrtdosfile
-rw-r--r--1rootroot65Dec2611:58dosfile
[root@DB-Servermyscript]#dos2unix-kdosfile
dos2unix:convertingfiledosfiletoUNIXformat...
[root@DB-Servermyscript]#ls-lrtdosfile
-rw-r--r--1rootroot65Dec2611:58dosfile
6:静默模式格式化文件
[root@DB-Servermyscript]#unix2dos-qdosfile
[root@DB-Servermyscript]#
dos2unix的下载地址为
/*
*Name:dos2unix
*Documentation:
*Removecr('\x0d')charactersfromafile.
*
*Thedos2unixpackageisdistributedunderFreeBSDstylelicense.
*Seealso 'target='_blank'>http://www.freebsd.org/copyright/freebsd-license.html*--------**Copyright(C)2009-2015ErwinWaterlander*Copyright(C)1998ChristianWurll*Copyright(C)1998BerndJohannesWuebben*Copyright(C)1994-1995BenjaminLin.*Allrightsreserved.**Redistributionanduseinsourceandbinaryforms,withorwithout*modification,arepermittedprovidedthatthefollowingconditions*aremet:*1.Redistributionsofsourcecodemustretaintheabovecopyright*notice,thislistofconditionsandthefollowingdisclaimer.*2.Redistributionsinbinaryformmustreproducetheabovecopyright*noticeinthedocumentationand/orothermaterialsprovidedwith*thedistribution.**THISSOFTWAREISPROVIDEDBYTHEAUTHOR``ASIS''ANDANY*EXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THE*IMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULAR*PURPOSEAREDISCLAIMED.INNOEVENTSHALLTHEAUTHORBELIABLE*FORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,OR*CONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENT*OFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,ORPROFITS;OR*BUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,*WHETHERINCONTRACT,STRICTLIABILITY,ORTORT(INCLUDINGNEGLIGENCE*OROTHERWISE)ARISINGINANYWAYOUTOFTHEUSEOFTHISSOFTWARE,EVEN*IFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE.**==1.0==1989.10.04==JohnBirchfield(jb@koko.csustan.edu)*==1.1==1994.12.20==BenjaminLin(blin@socs.uts.edu.au)*CleanedupforBorlandC/C++4.02*==1.2==1995.03.16==BenjaminLin(blin@socs.uts.edu.au)*ModifiedtomoreconformtoUNIXstyle.*==2.0==1995.03.19==BenjaminLin(blin@socs.uts.edu.au)*Rewrittenfromscratch.*==2.1==1995.03.29==BenjaminLin(blin@socs.uts.edu.au)*ConversiontoSunOScharsetimplemented.*==2.2==1995.03.30==BenjaminLin(blin@socs.uts.edu.au)*Fixedabugin2.1whereinnew-filemode,ifoutfilealreadyexists*conversioncannotbecompletedproperly.**AddedMactextfiletranslation,i.e.\rto\nconversion*BerndJohannesWuebben,wuebben@kde.org*WedFeb419:12:58EST1998**Addedextranewlineif^Moccurs*ChristianWurll,wurll@ira.uka.de*ThuNov191998**SeeChangeLog.txtforcompleteversionhistory.**//*#defineDEBUG1*/#define__DOS2UNIX_C#include"common.h"#include"dos2unix.h"#if(defined(_WIN32)&&!defined(__CYGWIN__))#include<windows.h>#endif#ifdefD2U_UNICODE#if!defined(__MSDOS__)&&!defined(_WIN32)&&!defined(__OS2__)/*Unix,Cygwin*/#include<langinfo.h>#endif#endifvoidPrintLicense(void){printf("%s",_("\Copyright(C)2009-2015ErwinWaterlander\n\Copyright(C)1998ChristianWurll(Version3.1)\n\Copyright(C)1998BerndJohannesWuebben(Version3.0)\n\Copyright(C)1994-1995BenjaminLin\n\Allrightsreserved.\n\n"));PrintBSDLicense();}#ifdefD2U_UNICODEwint_tStripDelimiterW(FILE*ipInF,FILE*ipOutF,CFlag*ipFlag,wint_tCurChar,unsignedint*converted,constchar*progname){wint_tTempNextChar;/*CurCharisalwaysCR(x0d)*//*Innormaldos2unixmodeputnothing(skipCR).*//*Don'tmodifyMacfileswhenindos2unixmode.*/if((TempNextChar=d2u_getwc(ipInF,ipFlag->bomtype))!=WEOF){if(d2u_ungetwc(TempNextChar,ipInF,ipFlag->bomtype)==WEOF){/*putbackpeekchar*/d2u_getc_error(ipFlag,progname);returnWEOF;}if(TempNextChar!=0x0a){if(d2u_putwc(CurChar,ipOutF,ipFlag,progname)==WEOF){/*Macline,putCR*/d2u_putwc_error(ipFlag,progname);returnWEOF;}}else{(*converted)++;if(ipFlag->NewLine){/*addadditionalLF?*/if(d2u_putwc(0x0a,ipOutF,ipFlag,progname)==WEOF){d2u_putwc_error(ipFlag,progname);returnWEOF;}}}}else{if(ferror(ipInF)){d2u_getc_error(ipFlag,progname);returnWEOF;}if(CurChar==0x0d){/*EOF:lastMaclinedelimiter(CR)?*/if(d2u_putwc(CurChar,ipOutF,ipFlag,progname)==WEOF){d2u_putwc_error(ipFlag,progname);returnWEOF;}}}returnCurChar;}#endif/*CURNEXT0xd(CR)0xa(LF)=>putLFifoption-lwasused0xd(CR)!0xa(LF)=>putCR0xd(CR)EOF=>putCR*/intStripDelimiter(FILE*ipInF,FILE*ipOutF,CFlag*ipFlag,intCurChar,unsignedint*converted,constchar*progname){intTempNextChar;/*CurCharisalwaysCR(x0d)*//*Innormaldos2unixmodeputnothing(skipCR).*//*Don'tmodifyMacfileswhenindos2unixmode.*/if((TempNextChar=fgetc(ipInF))!=EOF){if(ungetc(TempNextChar,ipInF)==EOF){/*putbackpeekchar*/d2u_getc_error(ipFlag,progname);returnEOF;}if(TempNextChar!='\x0a'){if(fputc(CurChar,ipOutF)==EOF){/*Macline,putCR*/d2u_putc_error(ipFlag,progname);returnEOF;}}else{(*converted)++;if(ipFlag->NewLine){/*addadditionalLF?*/if(fputc('\x0a',ipOutF)==EOF){d2u_putc_error(ipFlag,progname);returnEOF;}}}}else{if(ferror(ipInF)){d2u_getc_error(ipFlag,progname);returnEOF;}if(CurChar=='\x0d'){/*EOF:lastMaclinedelimiter(CR)?*/if(fputc(CurChar,ipOutF)==EOF){d2u_putc_error(ipFlag,progname);returnEOF;}}}returnCurChar;}/*convertsstreamipInFtoUNIXformattextandwritetostreamipOutF*RetVal:0ifsuccess*-1otherwise*/#ifdefD2U_UNICODEintConvertDosToUnixW(FILE*ipInF,FILE*ipOutF,CFlag*ipFlag,constchar*progname){intRetVal=0;wint_tTempChar;wint_tTempNextChar;unsignedintline_nr=1;unsignedintconverted=0;ipFlag->status=0;/*CR-LF->LF*//*LF->LF,incasetheinputfileisaUnixtextfile*//*CR->CR,indos2unixmode(don'tmodifyMacfile)*//*CR->LF,inMacmode*//*\x0a=Newline/LineFeed(LF)*//*\x0d=CarriageReturn(CR)*/switch(ipFlag->FromToMode){caseFROMTO_DOS2UNIX:/*dos2unix*/while((TempChar=d2u_getwc(ipInF,ipFlag->bomtype))!=WEOF){/*getcharacter*/if((ipFlag->Force==0)&&(TempChar<32)&&(TempChar!=0x0a)&&/*NotanLF*/(TempChar!=0x0d)&&/*NotaCR*/(TempChar!=0x09)&&/*NotaTAB*/(TempChar!=0x0c)){/*Notaformfeed*/RetVal=-1;ipFlag->status|=BINARY_FILE;if(ipFlag->verbose){if((ipFlag->stdio_mode)&&(!ipFlag->error))ipFlag->error=1;d2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("Binarysymbol0x00%02Xfoundatline%u\n"),TempChar,line_nr);}break;}if(TempChar!=0x0d){if(TempChar==0x0a)/*CountallDOSandUnixlinebreaks*/++line_nr;if(d2u_putwc(TempChar,ipOutF,ipFlag,progname)==WEOF){RetVal=-1;d2u_putwc_error(ipFlag,progname);break;}}else{if(StripDelimiterW(ipInF,ipOutF,ipFlag,TempChar,&converted,progname)==WEOF){RetVal=-1;break;}}}if((TempChar==WEOF)&&ferror(ipInF)){RetVal=-1;d2u_getc_error(ipFlag,progname);}break;caseFROMTO_MAC2UNIX:/*mac2unix*/while((TempChar=d2u_getwc(ipInF,ipFlag->bomtype))!=WEOF){if((ipFlag->Force==0)&&(TempChar<32)&&(TempChar!=0x0a)&&/*NotanLF*/(TempChar!=0x0d)&&/*NotaCR*/(TempChar!=0x09)&&/*NotaTAB*/(TempChar!=0x0c)){/*Notaformfeed*/RetVal=-1;ipFlag->status|=BINARY_FILE;if(ipFlag->verbose){if((ipFlag->stdio_mode)&&(!ipFlag->error))ipFlag->error=1;d2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("Binarysymbol0x00%02Xfoundatline%u\n"),TempChar,line_nr);}break;}if((TempChar!=0x0d)){if(TempChar==0x0a)/*CountallDOSandUnixlinebreaks*/++line_nr;if(d2u_putwc(TempChar,ipOutF,ipFlag,progname)==WEOF){RetVal=-1;d2u_putwc_error(ipFlag,progname);break;}}else{/*TempCharisaCR*/if((TempNextChar=d2u_getwc(ipInF,ipFlag->bomtype))!=WEOF){if(d2u_ungetwc(TempNextChar,ipInF,ipFlag->bomtype)==WEOF){/*putbackpeekchar*/d2u_getc_error(ipFlag,progname);RetVal=-1;break;}/*Don'ttouchthisdelimiterifit'saCR,LFpair.*/if(TempNextChar==0x0a){if(d2u_putwc(0x0d,ipOutF,ipFlag,progname)==WEOF){/*putCR,partofDOSCR-LF*/d2u_putwc_error(ipFlag,progname);RetVal=-1;break;}continue;}}if(d2u_putwc(0x0a,ipOutF,ipFlag,progname)==WEOF){/*MAClineend(CR).PutLF*/RetVal=-1;d2u_putwc_error(ipFlag,progname);break;}converted++;line_nr++;/*CountallMaclinebreaks*/if(ipFlag->NewLine){/*addadditionalLF?*/if(d2u_putwc(0x0a,ipOutF,ipFlag,progname)==WEOF){RetVal=-1;d2u_putwc_error(ipFlag,progname);break;}}}}if((TempChar==WEOF)&&ferror(ipInF)){RetVal=-1;d2u_getc_error(ipFlag,progname);}break;default:/*unknownFromToMode*/;#ifDEBUGd2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("programerror,invalidconversionmode%d\n"),ipFlag->FromToMode);exit(1);#endif}if(ipFlag->status&UNICODE_CONVERSION_ERROR)ipFlag->line_nr=line_nr;if((RetVal==0)&&(ipFlag->verbose>1)){d2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("Converted%uoutof%ulinebreaks.\n"),converted,line_nr-1);}returnRetVal;}#endif/*convertsstreamipInFtoUNIXformattextandwritetostreamipOutF*RetVal:0ifsuccess*-1otherwise*/intConvertDosToUnix(FILE*ipInF,FILE*ipOutF,CFlag*ipFlag,constchar*progname){intRetVal=0;intTempChar;intTempNextChar;int*ConvTable;unsignedintline_nr=1;unsignedintconverted=0;ipFlag->status=0;switch(ipFlag->ConvMode){caseCONVMODE_ASCII:/*ascii*/caseCONVMODE_UTF16LE:/*AssumeUTF-16LE,bomtype=FILE_UTF8orGB18030*/caseCONVMODE_UTF16BE:/*AssumeUTF-16BE,bomtype=FILE_UTF8orGB18030*/ConvTable=D2UAsciiTable;break;caseCONVMODE_7BIT:/*7bit*/ConvTable=D2U7BitTable;break;caseCONVMODE_437:/*iso*/ConvTable=D2UIso437Table;break;caseCONVMODE_850:/*iso*/ConvTable=D2UIso850Table;break;caseCONVMODE_860:/*iso*/ConvTable=D2UIso860Table;break;caseCONVMODE_863:/*iso*/ConvTable=D2UIso863Table;break;caseCONVMODE_865:/*iso*/ConvTable=D2UIso865Table;break;caseCONVMODE_1252:/*iso*/ConvTable=D2UIso1252Table;break;default:/*unknownconvmode*/ipFlag->status|=WRONG_CODEPAGE;return(-1);}/*TurnoffISOand7-bitconversionforUnicodetextfiles*/if(ipFlag->bomtype>0)ConvTable=D2UAsciiTable;if((ipFlag->ConvMode>CONVMODE_7BIT)&&(ipFlag->verbose)){/*notasciior7bit*/d2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("usingcodepage%d.\n"),ipFlag->ConvMode);}/*CR-LF->LF*//*LF->LF,incasetheinputfileisaUnixtextfile*//*CR->CR,indos2unixmode(don'tmodifyMacfile)*//*CR->LF,inMacmode*//*\x0a=Newline/LineFeed(LF)*//*\x0d=CarriageReturn(CR)*/switch(ipFlag->FromToMode){caseFROMTO_DOS2UNIX:/*dos2unix*/while((TempChar=fgetc(ipInF))!=EOF){/*getcharacter*/if((ipFlag->Force==0)&&(TempChar<32)&&(TempChar!='\x0a')&&/*NotanLF*/(TempChar!='\x0d')&&/*NotaCR*/(TempChar!='\x09')&&/*NotaTAB*/(TempChar!='\x0c')){/*Notaformfeed*/RetVal=-1;ipFlag->status|=BINARY_FILE;if(ipFlag->verbose){if((ipFlag->stdio_mode)&&(!ipFlag->error))ipFlag->error=1;d2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("Binarysymbol0x%02Xfoundatline%u\n"),TempChar,line_nr);}break;}if(TempChar!='\x0d'){if(TempChar=='\x0a')/*CountallDOSandUnixlinebreaks*/++line_nr;if(fputc(ConvTable[TempChar],ipOutF)==EOF){RetVal=-1;d2u_putc_error(ipFlag,progname);break;}}else{if(StripDelimiter(ipInF,ipOutF,ipFlag,TempChar,&converted,progname)==EOF){RetVal=-1;break;}}}if((TempChar==EOF)&&ferror(ipInF)){RetVal=-1;d2u_getc_error(ipFlag,progname);}break;caseFROMTO_MAC2UNIX:/*mac2unix*/while((TempChar=fgetc(ipInF))!=EOF){if((ipFlag->Force==0)&&(TempChar<32)&&(TempChar!='\x0a')&&/*NotanLF*/(TempChar!='\x0d')&&/*NotaCR*/(TempChar!='\x09')&&/*NotaTAB*/(TempChar!='\x0c')){/*Notaformfeed*/RetVal=-1;ipFlag->status|=BINARY_FILE;if(ipFlag->verbose){if((ipFlag->stdio_mode)&&(!ipFlag->error))ipFlag->error=1;d2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("Binarysymbol0x%02Xfoundatline%u\n"),TempChar,line_nr);}break;}if((TempChar!='\x0d')){if(TempChar=='\x0a')/*CountallDOSandUnixlinebreaks*/++line_nr;if(fputc(ConvTable[TempChar],ipOutF)==EOF){RetVal=-1;d2u_putc_error(ipFlag,progname);break;}}else{/*TempCharisaCR*/if((TempNextChar=fgetc(ipInF))!=EOF){if(ungetc(TempNextChar,ipInF)==EOF){/*putbackpeekchar*/d2u_getc_error(ipFlag,progname);RetVal=-1;break;}/*Don'ttouchthisdelimiterifit'saCR,LFpair.*/if(TempNextChar=='\x0a'){if(fputc('\x0d',ipOutF)==EOF){/*putCR,partofDOSCR-LF*/RetVal=-1;d2u_putc_error(ipFlag,progname);break;}continue;}}if(fputc('\x0a',ipOutF)==EOF){/*MAClineend(CR).PutLF*/RetVal=-1;d2u_putc_error(ipFlag,progname);break;}converted++;line_nr++;/*CountallMaclinebreaks*/if(ipFlag->NewLine){/*addadditionalLF?*/if(fputc('\x0a',ipOutF)==EOF){RetVal=-1;d2u_putc_error(ipFlag,progname);break;}}}}if((TempChar==EOF)&&ferror(ipInF)){RetVal=-1;d2u_getc_error(ipFlag,progname);}break;default:/*unknownFromToMode*/;#ifDEBUGd2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("programerror,invalidconversionmode%d\n"),ipFlag->FromToMode);exit(1);#endif}if((RetVal==0)&&(ipFlag->verbose>1)){d2u_fprintf(stderr,"%s:",progname);d2u_fprintf(stderr,_("Converted%uoutof%ulinebreaks.\n"),converted,line_nr-1);}returnRetVal;}intmain(intargc,char*argv[]){/*variabledeclarations*/charprogname[9];CFlag*pFlag;char*ptr;charlocaledir[1024];#ifdef__MINGW64__int_dowildcard=-1;/*enablewildcardexpansionforWin64*/#endifintargc_new;char**argv_new;progname[8]='\0';strcpy(progname,"dos2unix");#ifdefENABLE_NLSptr=getenv("DOS2UNIX_LOCALEDIR");if(ptr==NULL)strcpy(localedir,LOCALEDIR);else{if(strlen(ptr)<sizeof(localedir))strcpy(localedir,ptr);else{d2u_fprintf(stderr,"%s:",progname);d2u_ansi_fprintf(stderr,"%s",_("error:ValueofenvironmentvariableDOS2UNIX_LOCALEDIRistoolong.\n"));strcpy(localedir,LOCALEDIR);}}#endif#ifdefined(ENABLE_NLS)||(defined(D2U_UNICODE)&&!defined(__MSDOS__)&&!defined(_WIN32)&&!defined(__OS2__))/*setlocale()isalsoneededfornl_langinfo()*/setlocale(LC_ALL,"");#endif#ifdefENABLE_NLSbindtextdomain(PACKAGE,localedir);textdomain(PACKAGE);#endif/*variableinitialisations*/pFlag=(CFlag*)malloc(sizeof(CFlag));if(pFlag==NULL){d2u_fprintf(stderr,"dos2unix:");d2u_ansi_fprintf(stderr,"%s\n",strerror(errno));returnerrno;}pFlag->FromToMode=FROMTO_DOS2UNIX;/*defaultdos2unix*/pFlag->keep_bom=0;if(((ptr=strrchr(argv[0],'/'))==NULL)&&((ptr=strrchr(argv[0],'\\'))==NULL))ptr=argv[0];elseptr++;if((strcmpi("mac2unix",ptr)==0)||(strcmpi("mac2unix.exe",ptr)==0)){pFlag->FromToMode=FROMTO_MAC2UNIX;strcpy(progname,"mac2unix");}#ifdefD2U_UNIFILE/*GetargumentsinwideUnicodeformatintheWindowsCommandPrompt*/wchar_t**wargv;char***argv_glob;/*Thisdoesnotsupportwildcardexpansion(globbing)*/wargv=CommandLineToArgvW(GetCommandLineW(),&argc);argv_glob=(char***)malloc(sizeof(char***));if(argv_glob==NULL){d2u_fprintf(stderr,"%s:",progname);d2u_ansi_fprintf(stderr,"%s\n",strerror(errno));returnerrno;}/*GlobtheargumentsandconvertthemtoUTF-8*/argc_new=glob_warg(argc,wargv,argv_glob,pFlag,progname);argv_new=*argv_glob;#elseargc_new=argc;argv_new=argv;#endif#ifdefD2U_UNICODEreturnparse_options(argc_new,argv_new,pFlag,localedir,progname,PrintLicense,ConvertDosToUnix,ConvertDosToUnixW);#elsereturnparse_options(argc_new,argv_new,pFlag,localedir,progname,PrintLicense,ConvertDosToUnix);#endif}
相关文章推荐
- 马哥linux学习笔记:centos7中的yum详解
- 马哥linux学习笔记:centos7.x中rpm命令详解
- Linux负载均衡软件LVS之一(概念篇)
- linux hostname 和hostname -i问题
- 关于linux的进程中的各个线程cpu占用情况的分析和查看
- linux硬链接与软链接
- Linux自动化运维部署+运维
- Centos6.5安装RVM
- linux在线升级yum命令的使用
- linux--文件夹下批量改动IP
- [linux]ubutnu12.04 下安装jdk1.7
- 在Linux服务器上安装配置socks5代理的教程
- Linux如何kill杀掉进程
- linux使用velocity出现的一个奇葩问题-Unable to find resource
- Linux_自制系统服务启动脚本
- 安装MATLAB R2013a for Linux
- Linux下which、whereis、locate、find 命令的区别
- Linux 虚拟内存和物理内存的理解
- Linux命令学习总结:hexdump
- ARM-LINUX-GCC 4.4.3安装(ubuntu下)