데이터 포인트 앞뒤에 0 삽입

데이터 포인트 앞뒤에 0 삽입

각 데이터 포인트 앞뒤에 0을 삽입하는 스크립트가 필요합니다. 우분투에서 이것을하려고합니다.

예:

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에서 "각 줄 앞뒤에 0을 인쇄하는" 간단한 구현입니다.

답변2

GNU sed를 사용하여,제로섬을 삽입하다각 줄에 0을 추가합니다.

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

GNU sed호출을 통해:

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줄의 시작 부분에 개행 문자가 삽입되고 각 줄 끝에 개행 문자가 삽입됩니다.

관련 정보