줄 아래에 동일한 단어와 그 배수를 삽입하십시오. [중복]

줄 아래에 동일한 단어와 그 배수를 삽입하십시오. [중복]

텍스트:

my1line
my2line
my3line
my4line
my5line
my6line
my7line
my8line
...

삽입하고 싶은 단어:

hello

원하는 출력:

my1line
my2line
hello
my3line
my4line
hello
my5line
my6line
hello
my7line
my8line
....

다 써버릴 때까지 몇 줄마다 계속 채워넣을 수 있는 방법이 있나요?

답변1

awk '1; !(NR%2) {print "hello"}' file

각 줄을 인쇄합니다. 두 번째 줄마다 "hello"를 인쇄합니다.

답변2

awk 'NR%2==0{$0=$0"\nhello"}1' filename

산출

my1line
my2line
hello
my3line
my4line
hello
my5line
my6line
hello
my7line
my8line
hello

답변3

GNU sed 사용n-건너뛰기-m주소 운영자:

sed '2~2a hello' textfile

-i파일을 그 자리에서 편집하려면 이 옵션을 사용하십시오.

답변4

그리고 Gnu sed그것의 .테스트 step operator:

seq 100 | sed '3~2 s/.*/hello\n&/'

또는 Standard.test를 사용하세요 sed.

seq 100 | sed 'n;s/.*/&\nhello/;'

물론 파일을 입력으로 사용하십시오. 그러면 이전 예는 다음과 같습니다.

sed 'n;s/.*/&\nhello/;' datafile

관련 정보