关于sed命令去除文本当中每个字段前后空格及tab效率低下的解决办法
来源:互联网 发布:如何申请软件著作权 编辑:程序博客网 时间:2024/06/05 06:16
最近使用到sed命令进行文本处理,因从数据库中获取到的字段当中有个别字段中间包含空格,而最终保存时候要保证每个字段数据的完整性,所以默认的文本分割方式不能使用。
首先使用read读取一行数据line_data,再根据分隔符'"'进行拆分,拆分结果保存到split_data中,因数据的列数可以确定,所以对split_data进行处理时,可根据下标进行。
line_data的格式为'test1 xxxx "test2 "test3 "test 4 "test5 "test6'这种。
之前使用for循环,在将line_data使用双引号分隔符分割之后,再用sed命令去去除每个字段后的空格及tab键。
splitline[i]=`echo ${splitline[i]}|sed -e 's/\(^[ \t] *\)//' -e 's/\([ \t]*$\)//'`
但是对于一个有4000多行,每一行有39个字段的文本来说,处理下来要6分钟左右,效率极为低下。
想要寻找一种高效的解决办法。
所知的有sed、awk、grep等方式。
---------------------------------------------------------------
现在想到一种折中的办法,先将line_data里的空格都去掉,然后后面的for循环当中就不需要使用sed命令了,能将处理速度提高到17秒左右,也算是一种改进。
line=`echo ${line}|sed -e 's/\([ \t]*\)"/"/g'`
后面用for循环的时候就可以直接拆分line_data啦。
0 0
- 关于sed命令去除文本当中每个字段前后空格及tab效率低下的解决办法
- oracle去除字段前后空格
- 效率低下的不良习惯与解决办法
- 关于"&"运算符效率低下的问题,有什么好的解决办法?
- javascript:去除字符串的前后空格
- js去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- javascript:去除字符串的前后空格
- 二分法和牛顿法求一个非负实数的根号
- Android的JNI【实战教程】2⃣️--AS下NDK环境配置及第一个工程
- 应用层协议------HTTP
- C++中placement new操作符
- git中ssh与https究竟有何不同
- 关于sed命令去除文本当中每个字段前后空格及tab效率低下的解决办法
- J-Link 与 SWD
- Stream API
- sendfile函数
- JavaScript实现键值对数组,类似Java语言中的Map
- Python 字符串内置方法大全
- ffmpeg最全的命令参数
- Android屏幕直播方案
- MyEclipse 2014 添加SVN 插件