文档字段与字段之间多余的空格怎么处理,如何将多余的空格格式化,让程序更容易批量读入到数组或其他变量里面呢?
1. 测试文档file.txt,以下是源文件内容:
strong@strong:~$ cat file.txt
1 2 3 4
5 6 7 8 9
33 29 55 5
2.1 使用cat与tr命令处理:
解释: tr命令主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作。
strong@strong:~$ cat file.txt | tr -s [:space:]
1 2 3 4
5 6 7 8 9
33 29 55 5
2.2 使用sed命令处理:
解释: sed命令主要利用script来处理文本文件。
strong@strong:~$ sed 's/ */ /g' file.txt
1 2 3 4
5 6 7 8 9
33 29 55 5
3. 如果想将空格换成","或其他分隔符可以这样写(将空格换成对应的分割符号):
strong@strong:~$ sed 's/ */,/g' file.txt
1,2,3,4
5,6,7,8,9
33,29,55,5
4.1 如需要修改源文件则可以这样做(使用重定向功能):
cat file.txt | tr -s [:space:] > file.txt
4.2 额外增加-i参数:
sed -i 's/ */,/g' file.txt