shell脚本将gbk文件转化为utf-8】的更多相关文章

使用注意项: 原来文件格式gbk的,否则可能出现utf-8转utf-8乱码. #!/bin/bash function gbk2utf(){ file="$1" echo "处理文件 '$file' ..." iconv -f gb2312 -t UTF- -c "$file" > tmp mv -f tmp "$file" } function getdir(){ ` do dir_or_file=$"/&q…
最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚本 #!/bin/bash #description: 启动重启server服务 #端口号,根据此端口号确定PID PORT= #启动命令所在目录 HOME='/usr/etc/server/java/server' #查询出监听了PORT端口TCP协议的程序 pid=`netstat -anp|g…
通过shell脚本替换属性文件中的某行记录 假设有如下属性文件 demo.properties user.name=test user.password=123456 ............................... 需求:先需要通过shell 脚本将 user.name 和 user.password 的value值替换为实际需要的用户名和密码, 将可以通过如下方式实现: sed -i "s#^user.name=.*#user.name=用户名#g"  path/de…
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必 须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就诞生了下…
Windows下有软件FindDupFile,可以搜索指定目录及其下子目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件. 然而shell脚本却可以使用几行的命令完成与此相同的工作,借助windows下的shell脚本工具Cygwin,可以实现扫描Windows下的目录,原理简述如下: 1.首先借助find命令扫描文件夹下类型为普通文件的所有文件,find命令的输出是一行一个文件 2.对find找到的所有文件进行MD5校验,校验命令为md5sum files,输出文…
今天在编写微服务程序启动脚本的时候,遇到一个比较奇葩的问题,下面给出具体描述: 目标:通过读取maven插件打包时生成的pom.properties文件,获取里面的应用名称和应用版本号,然后拼接得到serviceName-version.jar格式的jar包名称,从而通过java -jar -xx..  jarPath的方式启动 遇到的问题:通过shell脚本读取pom.properties文件时,由于其key-value格式分行存储,在linux中获取到的value值最后有一个\r参数(可以通…
SQL Server 数据库中除了能执行基本的SQL语句外,也可以执行Shell脚本.默认安装后,SQL中的Shell脚本的功能是关闭的,需要手动打开, 执行以下脚本即可打开该功能. -- 允许配置高级选项(1:允许 0:禁止) GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell(1:启用 0:禁用) GO --重新配置 RECONFIGURE GO 在本地系统C盘根目录下常见一个测试文件,123.txt,内容为:你好,我好,大家好. 在SQL Server查询…
需求说明 最近在AIX上做开发,开发机器在office网段,测试机器在lab网段,不能互相通讯,只能通过特定的ftp来传文件. 每次上传的机器都要做:登录ftp,进入我的目录,上传:下载的机器都要做:登录ftp,进入我的目录,下载.以上动作每天都要做几十次,很蛋疼. 这个shell脚本的功能就是完成这些功能:登录ftp,进入我的目录,上传/下载某些文件.要传入一个参数,这个参数如果是“get”,那就从ftp下载:如果是“put”,那就上传到ftp. 因为从来没有用过shell脚本,所以将一些关键…
今天把这段时间学习完shell后完成工作上的一个小案件整理了一下,分享给大家! 说来也巧了,作为一个刚刚毕业半年的菜鸟,进入公司后,听公司的大牛推荐学习linux--”鸟哥的私房菜“,基本上是从去年8月份开始到了今年的1月份,基本上是把基础篇看完了,开始了解shell脚本的相关知识.刚好公司有了一个shell脚本的案件给我了,时间上也没有多紧.然后就一边学习一边开始做,虽然中途客户反映先前的业务逻辑有问题耽搁了两周,但总算是到最后完成了,自己学习的东西能用到很开心,今天闲了,把代码整理了一下,分…
有一个日志文件为: # cat data.log 需要提取出里面的数据,写shell脚本实现这个功能: #!/bin/bash OLD=$IFS IFS=$'\n' for entry in $(cat /home/users/data.log) do echo "Values in $entry is" IFS=' ' for value in $entry: do echo " $value" done done IFS=OLD 其中IFS变一个环境变量,作为l…
常见Linux文件的编辑命令 vi/vim,有时候我们想写一个脚本实现对文件编辑,这个时候,可能就不够用了,下面介绍一些办法 1.echo命令 Shell的echo命令常用于字符串的输出 例如: [root@mdw zxy]# echo 'Hello World !' > file1[root@mdw zxy]# cat file1Hello World ! [root@mdw zxy]# echo 'Good Luck' > file1[root@mdw zxy]# cat file1 Go…
在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?> <config>    <server-ip>192.168.1.45</server-ip>    <server-port>1209</server-port>    <repository-temp-path>/home/jo…
原因:Linux系统的换行符是"\r\n",Windows上的换行符是"\n",Windows上编写shell脚本上传Linux,Linux无法正确识别"\n",导致. 解决办法1:生成文件名的那一行写完脚本之后敲个空格再换行就可以了. 解决办法2:把编写的shell脚本粘贴进vim编辑的环境中,保存即可.…
要求:写一个linux bash脚本来查看目标文件夹下所有的file和directory,并且打印出他们的绝对路径. 运行command:./myDir.sh  input_path  output_result 要求输出格式为: 代码思路: BFS遍历,数据结构为queue,数组实现. 代码实现: #!/bin/bash SAVEIFS=$IFS IFS=$(echo -en "\n\b") #处理特殊字符文件名 queue[]="head" path_[]=''…
下面的脚本 会把本地的文本文件压缩后, 上传到FTP服务器上. 里面有一点小逻辑, 就是上传的文本文件 是 日期时间.txt 形式的, 一天写一个日志文件, 今天的文件不上传, 只上传 老的日志文件. #/bin/sh suffix=`cat suffix.ini` now=`date +%Y%m%d` curfile="./$now.txt" curgzfile="$curfile.tar.gz" upload () { ftp -n<<! open …
#!/bin/bash expect <<EOF set timeout spawn rsync -avz root@192.168.10.57:/var/www/html/manage_chanpin /var/www/html/bak/ expect "password:" send "wintel\r" spawn rsync -avz root@192.168.10.57:/var/www/html/ekt_chanpin /var/www/ht…
有些大文件,特别的大.有几百兆,甚至更大. 用文本编辑器打开十分的费劲,电脑都卡死了. 想替换其中的字符串,很麻烦. 这个时候有了shell,简直强大到爆炸! # du -h user.sql 304M user.sql # sed -i "s/tf_user/tf_user_index/g" user.sql 修改大文件中的tf_user 为 tf_user_index 轻松搞定!!! sed 威武,shell 威武.…
安装jq扩展 下载:jq 根据自己系统下载对应的文件 cp jq-linux64 /usr/bin cd /usr/bin mv jq-linux64 jq chmod +x jq 使用方法 假设有个test.json文件 { "menu": { "id": "file", "value": "File:", "popup": { "menuitem": { &quo…
转载自:http://os.chinaunix.net/a2007/1118/976/000000976787.shtml #! /bin/bash echo "Path to $(basename $0) is $(readlink -f $0)" 可以看一下执行结果: pengdl@localhost:~/test/shell$ lssh1.shpengdl@localhost:~/test/shell$ ./sh1.sh Path to sh1.sh is /home/pengd…
1:查找文件夹 如果文件夹存在,则打印一句存在,否则打印不存在 这里的话可以自由加一些指令. if [ test -d 文件夹名称 ] ; then echo "文件夹存在!" else echo "文件夹不存在!" fi 2:查找文件 如果文件存在,则打印一句存在,否则打印不存在 这里的话也可以自由加一些指令. if [ -f file.txt ]; then echo "文件存在!" else echo "文件不存在!"…
一.批量上传: #!/bin/bash #SFTP配置信息 #用户名 USER=root #密码 PASSWORD=5EYS40T04BMF #待上传文件根目录 SRCDIR=/u02/dab/sftpFiles #FTP目录 DESDIR=/u01/sftpFiles #IP IP=192.168.10.11 #端口 PORT=22022 #获取文件 cd ${SRCDIR} ; #目录下的所有文件 #FILES=`ls` #修改时间在执行时间五分钟之前的xml文件 FILES=`find $…
使用awk.cut.sed.if.while 等 awk.cut.sed还是很重要的 这是后来修改的,可以完成 #!/bin/bash #conver formatFILE=mobile_dpi.rulesAPPFILE=app_dic.rc.BAK_2CONVERFILE=mobile_dpi.txt rm -rf ${CONVERFILE} cat ${FILE} | grep "^a" | while read -r LINEdo PROTO_TYPE=$( echo $LINE…
crontab -e crontab -l service crond restart 55 7 * * * /data/app/autoprice7/resin-pro-3.1.15/log_old/http_resin_log.sh >>/data/app/autoprice7/resin-pro-3.1.15/log_old/crond.log 版本1 #!/bin/sh today=log_"$(date +%Y%m%d)" mkdir -p ./${today}…
命令:awk '{a[$1]+=$2}{b[$1]+=$3}END{for(i in a){print i,a[i],b[i]}}'…
mdate=`date +%R-%d-%m-%Y` LogFile=/root/HDstatusLog.log echo disk is good! $mdate >> $LogFile 输出: disk is good! :--- disk is good! :--- disk is good! :--- 注意: 1. >写入,覆盖掉原有的: >>继续添加,原来的还存在.…
1.使用for循环 for line in `cat filename` do echo $line done 2.使用for循环 for line in $(cat filename) do echo $line done 3.使用while循环 while read -r line do echo $line done < filename…
#!/bin/bash #一月前 historyTime=$(date "+%Y-%m-%d %H" -d '1 month ago') echo ${historyTime} historyTimeStamp=$(date -d "$historyTime" +%s) echo ${historyTimeStamp} #一周前 $(date "+%Y-%m-%d %H" -d '7 day ago') #本月一月一日 date_this_mon…
#!/bin/bash # exctute # ./mod.sh file_type input_folder output_folder # ./mod.sh *.txt /tmp /data/ # paramater count if [ ! $# -eq 3 ]; then echo "[ERROR] error paramater." exit fi # file type file_type="${1}" # input foloder if [ -d &…
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了解各种命令下文件操作的运行情况,有助于开发者在不同使用场景下选择合适的命令. 本文以实际的shell脚本为例,介绍了对文件进行操作的不同方法,为相关开发工作提供了參考. [关键词] shell  文件操作  读写  效率 一.概述 在某些软件项目的需求文档中,要求程序一次性读或写的数据规模较大,可达…
需求是这样的:将一个大概680M的Matlab数据文件传到国外某所大学的服务器上,服务器需要连接VPN才能访问,由于数据文件太大,而且如果我直接ssh连过去或者用ftp传输,那么中间很可能中断. ps:原来的时间大概17个小时左右!天哪,不要太惊讶,这是真的! 我当然没有直接的解决方法啊-请教王博学长,经过王博学长的指点迷津,一个基本可行的方案就这么出来了: 文件 -> CDN ->国外服务器 用cdn 的话,我只需要将文件先上传到CDN,然后只要节点同步之后,文件很有可能在国外的服务器上,这…