linux格式批量转换为dos格式
注:写的只是基本知识,望高手勿喷,写这个不是为了炫耀,只是为了方便其他人,仅此而已。
一:脚本功能:
批量处理目录以及子目录下的文件格式问题,能够轻易的将linux格式转换为dos格式。
二:写此博客的意义:
1、本着开源精神,目的:只是为了方便更多的人、不要花太多的时间在这种无聊的事情上。
2、现在还没有批量处理的一个脚本(至少我还没发现),那么,写出来,真的有人需要呢。
3、如果用户目录下还有更多的子目录,单单依靠用户自行转换,文件较少还能行,如果多的话,就有点力不从心。
三:下面介绍两种方法使用脚本:
1、本教程附带给你脚本,按照教程使用即可,不用过多的了解内部代码结构。
2、解释编写的脚本、可自行学习,如有不理解的地方,欢迎添加QQ:2081795560 进行叫交流学习(有妹子就更好了)。
四:使用脚本介绍:
下载链接:
地址1:http://files.cnblogs.com/files/wang-li/UnixChangeWindows.sh
地址2:点击下载
系统所需要的命令:
1、unix2dos 2、awk 如果没有此命令,则需要安装后执行脚本
使用说明:
1、复制脚本至linux机器上,赋给相应的权限(chmod 755 脚本名)。
2、用法1:脚本名 相对路径 用法2:脚本名 绝对路径 用法3:复制该脚本到需要转换的目录下,直接执行脚本名即可,无需跟路径
解释一下用法:
假如我的脚本名为:UCW.sh 需要转换的目录为:/home/Test/
进入到UCW.sh所在的目录下,
赋权限,chomd 755 UCW.sh
下面几个用法随意选一个来转换即可
用法1:./UCW.sh Test/ 此时应该在/home/下执行此脚本
用法2:绝对路径 ./UCW.sh /home/Test/
用法3:cp UCW.sh /home/Test ,然后执行:/home/Test/UCW.sh
五:解释编写的脚本
由于没有写函数,所以,代码有些地方过于重复,所以,解释一段即可,由于自己的表达能力有限,如果哪位仁兄看到了在下的代码,欢迎给在下注释。
#!/bin/bash
if [ -z "$1" ];then #判断命令是否跟参数,[ -z ] 如果为空 则返回true
FileName=$(pwd) #获取当前目录
find $PathName -ls | awk '{print $3 " " $11}' | grep '^.*' > $PathName/log.txt #利用find命令嘉awk来获取 文件的属性和文件绝对路径
grep '^-' $PathName/log.txt | awk '{print $2}' > $PathName/log2.txt #获取文件属性以'-'的文件列表,并且获取文件绝对路径
> $PathName/error.log #检测一下用户是否有unx2dos这个命令,并且将错误信息输入到文件中。其实还可以用$?来检测的
if [ -s $PathName/error.log ];then #错误信息内有错误输出,则提示用户未安装此命令,并且退出此脚本
echo -e "Also need to install the following sofware: unix2dos"
rm -rf $PathName/error.log
exit -1 #非正常退出 可以用$?来检测
fi
cat $PathName/log2.txt | while read line #读入上面已经录取到的文件列表,开始逐步检测
do
echo "unix2dos:${line}"
unix2dos $line # 其实整篇脚本核心在此
done
clear
echo "runing success" #打印脚本装换成功
else
FilePath=$(pwd)
== /* ]];then #判断是否是绝对路径,还有,我也不知道这个[[ ]]是什么意思,如果谁知道,请告知与我,谢谢
PathName=$1;
if [ -e $PathName ];then # 判断是否是存在这个目录
echo " "
else
echo "unix2dos:cannot change $PathName : No such directory"
exit -1 #不存在,打印错误信息,并且以不正常的形式推出
fi
find $PathName -ls | awk '{print $3 " " $11}' | grep '^.*' > $PathName/log.txt
grep '^-' $PathName/log.txt | awk '{print $2}' > $PathName/log2.txt
which unix2dos 2> $PathName/error.log
if [ -s $PathName/error.log ];then
echo -e "Also need to install the following sofware: unix2dos"
rm -rf $PathName/error.log
exit -1
fi
cat $PathName/log2.txt | while read line
do
echo "unix2dos:${line}"
unix2dos $line
done
clear
echo "runing success"
else
PathName=$FilePath/$1 #由于是觉得路径,则不需要检测
if [ -e $PathName ];then #判断是否是正常目录
echo " "
else
echo "unix2dos:cannot change $PathName : No such directory"
exit -1
fi
find $PathName -ls | awk '{print $3 " " $11}' | grep '^.*' > $PathName/log.txt
grep '^-' $PathName/log.txt | awk '{print $2}' > $PathName/log2.txt
which unix2dos 2> $PathName/error.log
if [ -s $PathName/error.log ];then
echo -e "Also need to install the following sofware: unix2dos"
rm -rf $PathName/error.log
exit -1
fi
cat $PathName/log2.txt | while read line
do
echo "unix2dos:${line}"
unix2dos $line
done
clear
echo "runing success"
fi
fi
exit 0 #退出
脚本介绍完毕。
还是那句话,本人小白,高手勿喷,我只是希望,这个小脚本,真的能够帮助大家解决问题,仅此而已。
青青河边草 2016-05-16 10:21:11
linux格式批量转换为dos格式的更多相关文章
- vmware的vmdk格式虚拟机转换为qcow2格式
今天应其他部门的需求,把一个笔记本里的vmware的window2008的虚拟机转换为qcow2格式,在公司服务器上运行. 第一次做,用了许多时间 首先: 虚拟机的镜像分为多个vmdk文件,所以我 ...
- java 调用OpenOffice将word格式文件转换为pdf格式
一:环境搭建 OpenOffice 下载地址http://www.openoffice.org/ JodConverter 下载地址http://sourceforge.net/projects/jo ...
- 利用kindlegen实现txt格式小说转换为mobi格式小说(C++实现)
一直以来喜欢在kindle上看小说,kindle不伤眼,也可以帮助控制玩手机的时间.但在kindle上看txt格式的网络小说就很头疼了,这类小说在kindle上是没有目录的,而且篇幅巨长.所以一直以来 ...
- 【转】Linux下的文本dos格式转Unix格式,去除^M符号
原文网址:http://blog.csdn.net/kobejayandy/article/details/13291525 问:我在Windows中通过FTP传一个文本文件到Linux中,但是打开文 ...
- 将dos格式文件转换为unix格式
在windows下换行符是\r\n,表示回到行首并换到下一行 而unix系统中换行符是\n 这样就存在一个问题,在windows上的文档到了unix上可能就无法使用了 针对这个情况有几种解决办法: 1 ...
- 网易云音乐ncm加密格式批量转换为flac,mp3
从网易云下载的某些付费歌曲下载下来会是ncm格式.ncm是个啥?就是你下完一首歌被网易云加密成它自己独有的ncm格式,这个ncm不能在其他播放器播放,如果网易云你会员到期了同样也会提示你无法播放(不是 ...
- excel批量转换为CSV格式,xls批量导出csv格式
工具/原料 excel 2013 地址链接:http://pan.baidu.com/s/1c1ZABlu 密码:d3rc 方法/步骤 首选我们把需要导出为CVS的Excel文件整理集中到 ...
- 检测到 Mac 文件格式: 请将源文件转换为 DOS 格式或 UNIX 格式
非常简单可以解决: 方法一,用editplus打开,再复制回VS 方法二:在VS中,点文件->高级保存选项,然后在行尾选项中选择windows(CR LF),重新编译,ok
- python json格式字符串转换为字典格式
不废话,看代码 #_*_ coding:utf- _*_ import os import json course=open('C:\\Users\\ly199\\Desktop\\list.txt' ...
随机推荐
- How to parse HTML page data in Windows Phone
1. Navigate to page WebBrowser control browser.Navigate(new Uri("http://www.xxxx.com")); 2 ...
- 【iCore3双核心板】发布 iCore3 应用开发平台用户手册
PDF手册下载地址:http://pan.baidu.com/s/1miBBYi8 iCore3应用开发平台购买地址:https://item.taobao.com/item.htm?spm=a1z1 ...
- 原来 laravel 路由 参数可以为可选。。。 很灵活
基本路由 您的应用程序的绝大多数路由将在 app/routes.php 文件中定义.Laravel 中最简单的路由由一个 URI 和一个闭包调用组成. 基本 GET 路由 复制代码代码如下: Rout ...
- jxl读取Excel表格数据
调用jxl包实现Excel表格数据的读取,代码如下: import java.io.File; import java.io.IOException; import java.util.ArrayLi ...
- linux cntlm代理的配置
在linux下需要配置代理上网,如yum, wget等.如果直接配置windows下的代理,如下: export http_proxy=http://<proxyIP>:<port& ...
- PHP和HTML代码混合编译的三种方法
第一种是在HTML中加PHP. 大段大段的html代码中,在各个需要执行php的地方<?php .... ?> 比如 line7-9: 1 <head> 2 <meta ...
- C#.Net下的防抖-Debounce和节流阀-Throttle功能实现
C#下的防抖-Debounce.节流阀-Throttle功能实现 防抖-Debounce 连续的多次调用,只有在调用停止之后的一段时间内不再调用,然后才执行一次处理过程. 节流阀-Throttle 连 ...
- 老司机带你走进Core Animation
为什么时隔这么久我又回来了呢? 回来圈粉. 开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理.不过既然我现在回来了,那么这将是一个井喷的 ...
- Qt在pro文件中加入带空格的路径(使用$$quote关键字)
LIBS += -L$$quote(C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib) INCLUDEPATH += $$quote(C: ...
- UNIX常用命令
以下只说明各常用指令的基本用法, 若需详细说明, 请用 man 去读详细的 manual. 1.关於档案/目录处理的命令 ls--列目录 这是最基本的档案指令. ls 的意义为 "list& ...