Shell脚本格式化内容(处理多余空格与更换分割符)

Posted 你才小学生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本格式化内容(处理多余空格与更换分割符)相关的知识,希望对你有一定的参考价值。

    文档字段与字段之间多余的空格怎么处理,如何将多余的空格格式化,让程序更容易批量读入到数组或其他变量里面呢?


1. 测试文档file.txt,以下是源文件内容:

strong@strong:~$ cat file.txt 
1   2   3 4
5 6 7   8   9
33   29 55 5


2.1 使用cattr命令处理:

解释: 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


以上是关于Shell脚本格式化内容(处理多余空格与更换分割符)的主要内容,如果未能解决你的问题,请参考以下文章

shell3

Shell编程之awk

请教shell脚本处理带空格的文件名

14 shell脚本--006交互输入与for语句

shell68批量创建用户(传多个参数)

shell工具-awk