我有一个如下所示的数据集:
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
如果第二列为空,,SOMELOGB
和 ,SOMELOGC
将替换每个 /r
回车符。仅当第二列为空时才会进行替换,并且应替换到非空行。会考虑 bash/sed/awk 或 vim 解决方案。
最佳答案
awk
来救援!
如果您有tac
,这可能是最简单的
$ 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/