在数据点之前和之后插入零

在数据点之前和之后插入零

我需要一个在每个数据点之前和之后插入零的脚本。我正在尝试在 Ubuntu 中执行此操作。

例子:

1
2
3
4
5

我需要的:

0
1
0
0
2
0
0
3
0
0
4
0
0
5
0

答案1

使用awk

awk '{ print "0" ORS $0 ORS "0" }' < input

或者:

awk '{ print "0"; print $0; print "0" }' < input

对我来说,这是 awk 中“在每行之前和之后打印一个零”的直接实现。

答案2

使用 GNU sed,插入一个零和A在每一行添加一个零:

sed -e 'i\0' -e 'a\0' data

前任。

$ printf '%d\n' 1 2 3 | sed -e 'i\0' -e 'a\0'
0
1
0
0
2
0
0
3
0

答案3

通过一次 GNUsed调用:

seq 5 |sed 's/.*/0\n&\n0/'

标准语法相同sed

seq 5 |sed 's/.*/0\
&\
0/'

答案4

使用标准sed

sed -e 's/^/0\
/'  -e 's/$/\
0/' file

这将0在开头插入一个换行符,并在每行末尾插入一个换行符。

相关内容