专栏首页GreenplumLinux对文件中的特殊字符进行替换(添加对NUL的处理)

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

参考资料

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

本文分享自微信公众号 - 小徐的技术之路(xiaoxuBigdata),作者:小徐知识的力量

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux对文件中的特殊字符进行替换

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

    小徐
  • Linux对文件中的特殊字符进行替换(单个文件与多个文件替换)

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

    小徐
  • Linux 常用命令(五)

    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

    小徐
  • 一篇文章学懂Shell脚本,最简明的教程在这里

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。

    用户7657330
  • 一篇文章学懂Shell脚本

    Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得更...

    软测小生
  • 【Linux_Shell 脚本编程学习笔记五、Oracle JDK1.8 安装shell 脚本】

      脚本和安装包必须在同级目录下才能够安装(脚本没有优化,还可以使用 wget 从网上下载指定版本的 jdk 安装包)

    梅花
  • 终端可以是丰富多彩的! echo实用技巧

    如果善用echo,我们可以一行命令搞定echo {"registry-mirrors": ["https://registry.docker...

    zhaoolee
  • Mi8刷机若干踩坑

    这个刷机的事情本来挺简单个事,但是我刷面具的时候,哪个面具是个坏包,之后的就触摸不正常了,就是点上去没有反应.很难受我又刷回去了miui然后再刷回来.本...

    云深无际
  • 身份切换脚本,免登入切换权限的利器

    分享一个我曾经写过的功能代码:工具身份切换脚本,主要用于脚本执行期间其他身份(如 administrator 等)的切换,从而获取到所需权限。 使用说明: 1....

    张戈
  • Linux常用命令13 - echo

    echo 命令是 Linux 中最基本和最常用的命令之一。 传递给 echo 的参数被打印到标准输出中。

    叉叉敌

扫码关注云+社区

领取腾讯云代金券