用脚本如何实现将Linux下的txt文件批量转化为Windows下的txt文件?

众所周知,Windows和Linux的文件换行回车格式不同,Windows下换行格式是\r\n(回车+换行),Linux下换行格式为\n(只是换行),因此,其中一个操作系统的文本文件若需要在另外一个中显示,需要转换。在Linux系统中,提供了两个命令进行这种转换:unix2dos,dos2unix。

今天上午,翻阅以前的笔记(注意,是linux下的txt文件),为了在win7下呈现,不得已,需要装换,但笔记name格式实在不统一,譬如mysql01.txt, mysql_01.txt,mysql-p1,本想一个一个的进行转换,但工作量实在巨大,“所有程序员都是理想主义者”,作为一个理想主义者,在有能力的情况下,要学会偷懒。这个世界重要的不是勤奋做事,而是用脑做事。因此,花费了点时间,写了个脚本,最后不费吹灰之力将Linux下的txt文件批量转为为windows下的txt文件。分享如下:

#!/bin/bash
read -p "please input the folder name:" folder
cd /mnt/hello/$folder
read -p "Please input the number:" number
mkdir -p $folder
for ((i=1;i<=$number;i++))
do
 if [ $i -le 9 ];then
    unix2dos -n $folder'0'$i.txt $folder/$folder'0'$i.txt
 else
    unix2dos -n $folder$i.txt $folder/$folder$i.txt
 fi
done

ps:这个脚本通用性会较弱一点,各位童鞋可以根据自己的目标具体调整这个脚本。

后续:其实也不用这么麻烦的,可以下载一个Linux下大名鼎鼎的文件编辑器-gedit for windows,其自动识别Linux下的文本文件。

        下载地址:http://ftp.gnome.org/pub/gnome/binaries/win32/gedit/

 

posted @ 2013-10-28 16:41  iVictor  阅读(3964)  评论(0编辑  收藏  举报