[중복] 열에서 문자 시퀀스 "OW HW1 HW2"를 3000번 반복합니다.

[중복] 열에서 문자 시퀀스 "OW HW1 HW2"를 3000번 반복합니다.

다음 시퀀스를 원합니다. OW HW1 HW2가 출력 파일에서 3000번 반복되었습니다. 예를 들면 다음과 같습니다.

OW
HW1
HW2
.
.
.
OW
HW1
HW2

나는 bash를 사용하여 OW, HW1 및 HW2를 인수로 설정한 다음 do 루프를 3000번 수행하고 출력 파일에 값을 인쇄할 수 있다고 믿습니다.

답변1

printf길이가 0인 문자열 지정자 %.0s및 중괄호 확장 과 함께 이 트릭을 사용할 수 있습니다 .

printf '%.0sOW\nHW1\nHW2\n' {1..3000} > newfile

답변2

for in루프를 사용하는 경우 :

for i in $(seq 1 3000) ; do echo -e "OW\nHW1\nHW2"; done

아니면 에코 3x를 사용하세요

for i in $(seq 1 3000) ; do echo OW; echo HW1; echo HW2; done

답변3

이는 Perl을 사용하여 쉽게 수행할 수 있습니다.

perl -e'print "OW\n\HW1\nHW2\n"x3000'

답변4

쉘이 "분기 확장"을 제공하는 경우 다음을 시도하십시오.

echo $'\nOW\nHW1\nHW2\n'{1..3000}$'\n' | grep -Ev "^( |[0-9])*$"
OW
HW1
HW2
OW
HW1
HW2
OW
HW1
HW2
.
.
.

결과가 만족스러우면 파일로 리디렉션하세요.

관련 정보