我需要一个在每个数据点之前和之后插入零的脚本。我正在尝试在 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
在开头插入一个换行符,并在每行末尾插入一个换行符。