다음 시퀀스를 원합니다. 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
.
.
.
결과가 만족스러우면 파일로 리디렉션하세요.