【shell】删除脚本/文件的特殊字符|不可见字符|异常字符|统计某个字符串出现次数
目录
作者:bandaoyu, 文章不断更新,地址:https://blog.csdn.net/bandaoyu/article/details/119797604
删除文件的不可见字符
(注意:会把中文给删掉,谨慎使用)
使用tr命令可以从字符串中仅获取'可打印'(可见)的字符.
如:从file1 中获取可见字符
tr -cd "[:print:]\n" < file1
将脚本中的不可见字符去掉可以用下面的命令:
tr -cd "[:print:]\n" < file1 >> file1_new
file1_new 就是去除不可见字符后的脚本
原文:从Bash中的字符串中删除所有特殊字符 - IT屋-程序员软件开发技术分享社区
下面的指令把filename改成脚本的名字再运行即可:
TMPNAME=filename&&mv ${TMPNAME} ${TMPNAME}_bak && tr -cd "[:print:]\n" < ${TMPNAME}_bak >> ${TMPNAME}&&rm -f ${TMPNAME}_bak&&chmod 777 ${TMPNAME}
在vi命令模式下:set list可以将不可看见的特殊字符打印出来
删除 名字含特殊字符的 文件
可以根据文件节点来删除,具体操作参考如下:
1. ls -i 列出当前目录下所有文件的节点ID和文件名
2. rm -rf "`find -inum ${NODE_ID}`", ${NODE_ID}为你所看到的节点ID,然后烦人的文件就删
统计变量中某个字符串出现次数
echo "abcdabc1234abc" | awk -F 'a' '{print NF-1}'