我有一个由10列和30,000+行组成的数据文件。我需要对这个数据文件进行预处理以供下游使用(最后的文件格式必须是Excel;不幸的是,将其保持为纯文本文档不是一种选择)。
我遇到的问题是,第7列中的几行超出了Excel的字符限制(32,767)。如何指定将第7列拆分,使其不超过字符限制,但同时也将文本的上下文保存在列中?(第7栏包含了一堆句子,我不想把它们分开)。
例如/简单性:下一段载于"A“栏。我想将这一段分解为"X“行数,如所示,这样A列中的每一行在保持句子结构的同时不超过100个字符。
他给我们讲了一个非常激动人心的冒险故事。我们从未去过亚洲,也没有访问过非洲。我们应该现在开始上课,还是应该等每个人到这里来。大家都很忙,所以我一个人去看电影。上个星期五,在三周的时间里,我看到一条条纹的蓝色蠕虫和一只没有腿的蜥蜴握手。
以下是我尝试过的:
“-F”。‘'BEGIN {OFS=“\n’};{ $0=substr($0,1,100);打印}‘
发布于 2018-11-30 14:22:40
当您对拆分A列感兴趣时,可以使用sed
。
你试着用最大的99匹配尽可能多的字符,然后是一个点和一个空格。
用换行符替换最后一个空格。
columnA="He told us a very exciting adventure story. We have never been to Asia, nor have we visited Africa. Should we start class now, or should we wait for everyone to get here. Everyone was busy, so I went to the movie alone. Last Friday in three week’s time I saw a striped blue worm shake hands with a legless lizard."
echo "${columnA}" | sed -r 's/(.{1,99}\.) /\1\n/g'
https://stackoverflow.com/questions/53562583
复制