【发布时间】:2015-12-19 22:29:20
【问题描述】:
这听起来可能是重复的,但我无法做到这一点。
考虑:
_ = 空格
- = 减号
particle_little.csv 是这种形式的文件:
waste line to be deleted
__data__data__data
_-data__data_-data
__data_-data__data
我需要particle_std.csv 中的标准 csv 格式,如下所示:
data,data,data
-data,data,-data
data,-data,data
我正在尝试使用tail 和tr 进行转换,这里我拆分命令:
-
tail -n +2 particle_little.csv删除第一行
-
| tr -s ' '删除重复的空格
-
| tr '/\b\n \b/' '\n'删除最开始的空格
-
| tr ' ' ','更改逗号的空格
-
> particle_std.csv将其放入输出文件中
但我明白了(没有第四步):
data
data
data
-data
...
最后,文件很大,用编辑器打开几乎是不可能的(我知道有超级编辑器可能可以)
【问题讨论】:
-
在我看来,您尝试使用错误的工具来完成这项工作;有趣的是,它的效果不是很好。您是否仅限于使用
tr和tail?还是您只需要完成工作,而这些是第一批出现的工具? “数据”部分是否包含空格?大概不会。 -
我需要得到输出,是的,这些是我发现的第一个工具(所以,我是新手)
-
顺便说一下,文件很大
-
巨大的文件不是问题,只要你不试图一次把它全部吸入内存,只要你不试图把它写到太多的管道上。零管最好;一根管子不是大问题;二十根管道可能是个问题(它仍然可能是正确的,但通常不是')。