我有一个包含10列和30,000+行的数据文件。我需要对该数据文件进行预处理,以供下游使用(最终文件格式必须是Excel;不幸的是,不要将其保存为纯文本文档)。
我遇到的问题是,第7列中的几行超出了Excel的字符数限制(32,767)。如何指定将第7列分开,以使其不超过字符数限制,但同时也将文本上下文保留在Column中? (第7列包含一堆句子,我不想分解它们。)
例如/简单性:下一段在“ A”列中。我想将此段分成“ X”行,如图所示,以便在保持句子结构的同时,A列中的每一行都不会超过100个字符。
定界符:“。” {句号后跟一个空格}
最大字符长度:100
他告诉我们一个非常激动人心的冒险故事。我们从未去过 亚洲,我们也没有访问非洲。我们应该现在开始上课吗? 我们等待每个人到这里。大家都很忙,所以我去了 电影。在三个星期的时间里的上周五,我看到了一条蓝色的条纹 蠕虫与无腿蜥蜴握手。
这是我尝试过的:
cat paragraph | awk -F ". " 'BEGIN { OFS="\n\n"}; { $0=substr($0,1,100); print}'
答案 0 :(得分:0)
如果您希望分解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'