编辑脚本是直接在windows下写的,并没有使用特定的编辑器或者其他工具,所以很有可能出现一些莫名其妙的异常,这些错误是我们眼睛看不到的,遇到这个情况,例如如下异常或者提示语法错误
Java代码
unexpected end of file
我们可以在linux上使用cat命令,进行清洗数据,
使用工具 cat 和 tr, 方法如下:
bash$ cat -v startqftest.sh |tr -d "^M" > qf.sh
其中 startqftest.sh 是存在问题的脚本, qf.sh是新生成的文件。
sed 's/^M//' test.sh > back.sh^M是Ctrl+v Ctrl+m
解释一下, cat 可以查看许多不可见这符,
cat -t 显示TAB 为 ^I
cat -e 显示行尾为 $,
cat -v 显示不可见字符,用^M表示,所以^M就表示不认识的不可见字符。M 表示Mark,标记的意思。
tr - translate or delete characters
另外,cat 还可以用来调Makefile,
cat -t Makefile 查看命令中有非Tab开头的,
grep '^ ' Makefile 查找命令行中以空格开头的行
cat -e Makefile 查看行尾是否正确,防止后面多一个空格,
grep '\[ ]$' Makefile 找出以上那样的行