首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux对文件中的特殊字符进行替换(添加对NUL的处理)

Linux对文件中的特殊字符进行替换(添加对NUL的处理)

作者头像
小徐
发布2019-08-05 15:13:49
3K0
发布2019-08-05 15:13:49
举报
文章被收录于专栏:GreenplumGreenplum

参考资料

https://stackoverflow.com/questions/5800035/how-to-replace-nul-in-vi

https://blog.csdn.net/a14206149/article/details/52595092

http://vim.1045645.n5.nabble.com/search-for-null-td1194026.html

可替换以下的特殊字符

开始脚本

# cat asciiReplaceScript.sh

#!bin/sh

# 特殊字符查看表 # https://blog.csdn.net/xfg0218/article/details/80901752

echo "参数说明" echo -e "\t 第一个参数是带有特殊字符的文件,第二个参数是需要生成新文件的名字" echo -e "\t 例如: sh asciiReplaceScript.sh bandConversionFile.log postConversionFile.log" echo

# 对输入参数进行校验 if [ ! -n "$1" ];then echo -e "\t 请输入第一个参数...." exit elif [ ! -n "$2" ];then echo -e "\t 请输入第二个参数...." exit elif [ -f $2 ];then echo -e "\t"$2"文件已被占用,请更换输出文件命!" exit fi

echo -e "\t 转换开始......"

starttime=`date +'%Y-%m-%d %H:%M:%S'`

# 特殊字符的集合,28是特殊字符的10进制代码 fs=`echo 28 | awk '{printf("%c", $1)}'` doc1=`echo 17 | awk '{printf("%c", $1)}'` doc2=`echo 18 | awk '{printf("%c", $1)}'` sub=`echo 26 | awk '{printf("%c", $1)}'` nul=`echo 0 | awk '{printf("%c", $1)}'` rs=`echo 30 | awk '{printf("%c", $1)}'` gs=`echo 29 | awk '{printf("%c", $1)}'` etb=`echo 23 | awk '{printf("%c", $1)}'`

# 替换开始 sed -e 's/[\x0]//g' -e 's/'$fs'//g' -e 's/'$doc1'//g' -e 's/'$doc2'//g' -e 's/'$sub'//g' -e 's/'$nul'//g' -e 's/'$rs'//g' -e 's/'$gs'//g' -e 's/'$etb'//g' $1 >> $2

echo -e "\t 转换结束......"

endtime=`date +'%Y-%m-%d %H:%M:%S'` start_seconds=$(date --date="$starttime" +%s); end_seconds=$(date --date="$endtime" +%s);

echo -e "\t 脚本耗时:"$((end_seconds-start_seconds))"s"

# 退出脚本 exit

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 河马coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料
  • 开始脚本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档