![[중복] 열에서 문자 시퀀스 "OW HW1 HW2"를 3000번 반복합니다.](https://linux55.com/image/140520/%5B%EC%A4%91%EB%B3%B5%5D%20%EC%97%B4%EC%97%90%EC%84%9C%20%EB%AC%B8%EC%9E%90%20%EC%8B%9C%ED%80%80%EC%8A%A4%20%22OW%20HW1%20HW2%22%EB%A5%BC%203000%EB%B2%88%20%EB%B0%98%EB%B3%B5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
다음 시퀀스를 원합니다. 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
.
.
.
결과가 만족스러우면 파일로 리디렉션하세요.