我有一个非常大的制表符分隔文件(大约 1200 万行),如下所示:
F1 1
2
700
F2 89
900
10000
19
F3 100
60001
有什么办法可以让我这样:
F1 1
F1 2
F1 700
F2 89
F2 900
F2 10000
F2 19
F3 100
F3 60001
我试过使用 sed 脚本,但它需要很长时间。
例如
sed 's/^/F1/' FILE | cut -c3- > FILE1 ; mv FILE1 FILE
我可以在 excel 中使用
=IF(a2=="",c1,a2)
并向下拖动。但是,Excel 只允许我加载一定数量的行。
(假设我已经将“F1”复制到 C1)
肯定有使用 awk 或 sed 的更简单的方法吗?
最佳答案
perl -F'\t' -lane'$h = $F[0] ||= $h; print join "\t", @F'
赋值是右结合的,所以
$h = $F[0] ||= $h;
相当于
$h = ( $F[0] ||= $h );
因此
$F[0] ||= $h;
$h = $F[0];
和
$F[0] = $h if !$F[0];
$h = $F[0];
关于excel - 填充空白字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40982582/