如何将选项卡分隔的文本文件中的空行替换为Linux机器上上面行的内容?例如:
101 abc group1
765 efg group2
345 hij group4
456 gfd group9
762 ert group7
554 fgt group11预期产出:
101 abc group1
765 efg group2
345 hij group3
345 hij group3
456 gfd group9
762 ert group7
762 ert group7
762 ert group7
554 fgt group11发布于 2020-12-11 10:26:29
下面是使用awk的一种方法(当NF为零时,p保留前一行)。
awk 'NF {p = $0} {print p}' file当行不为空时,我们将该行存储到p (以备将来使用)并打印p。
当NF==0 (用于空行)时,我们只打印p。
发布于 2020-12-12 17:37:21
在现有答案的基础上添加:
awk 'NR<2 && !NF{next} NF{print} !NF{print line} NF{line=$0}' test..。还将处理空的第一行(通过忽略它,因为它没有先前的输入)。
https://unix.stackexchange.com/questions/623969
复制相似问题