我有一个数据集如下所示:
TEST,SOMELOG
TESA,SOMELOGA
TESB
TESC
TESD,SOMELOGB
TESE
TESF
TESG,SOMELOGC
需要让它看起来像这样:
TEST,SOMELOG
TESA,SOMELOGA
TESB,SOMELOGB
TESC,SOMELOGB
TESD,SOMELOGB
TESE,SOMELOGC
TESF,SOMELOGC
TESG,SOMELOGC
其中,如果第2列为空,
,SOMELOGB
和,SOMELOGC
将替换每个/r
回车。替换只在第2列为空并且应该替换到非空行时发生。会考虑bash/sed/awk或vim解决方案。 最佳答案
去营救!
如果你有awk
,这可能是最简单的
$ tac file | awk -F, -v OFS=, 'NF==1{$2=p} NF>1{p=$2}1' | tac
关于bash - vim:如果为空白,则用同一列中的值替换第二列空白,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41168299/