
echo
Linux에서 새로운 라인을 생성하는 데 사용됩니다.
echo -e '\n'
2줄
echo -e '\n\n'
3줄 등등.
예를 들어
user@linux:~$ echo
user@linux:~$ echo -e '\n'
user@linux:~$ echo -e '\n\n'
user@linux:~$
\n\n
를 입력하는 대신 \n * 3
.
원하는 출력
나는 3줄을 생산하지 않을 것이라는 것을 알고 있지만 echo -e '\n * 3'
, 내가 의미하는 바를 이해하길 바랍니다.
user@linux:~$ echo -e '\n * 3' # <== I hope you get what I mean
user@linux:~$
답변1
bash, ksh93 또는 zsh를 사용하는 경우
printf '%.0s\n' {1..3}
3개의 개행 문자를 생성합니다. {1..3}
로 확장된 다음 1 2 3
이를 printf
너비가 0인 문자열과 개행 문자로 출력합니다.
답변2
POSIX 솔루션이 필요한 경우 다음을 사용하세요.
고리
명백하고 보기 흉해 보이는 POSIX 루프 옆에:
i=0; while [ "$((i+=1))" -le 7 ]; do echo; done
POSIX(휴대용)
다른(더 짧지만 반드시 더 빠른 것은 아님) 솔루션이 있습니다.
(1) 공백을 인쇄하고 개행 문자로 변환합니다.
printf '%*s' 30 | tr ' ' '\n'
(2) 또는 23줄을 얻으려면
seq 23 | tr -dc '\n'
(3) awk 사용:
seq 23 | awk '{printf "\n"}'
(4) IFS가 기본값이라고 가정
printf '%.0s\n' $(seq 23)
(5) sed
하나의 추가 줄바꿈을 추가합니다. 23개 줄바꿈의 경우 22를 사용합니다.
printf '%0*d' 22 | sed 'y/0/\n/'
(6) 일부 쉘은 낮은 번호의 배열 요소를 모두 자동으로 생성합니다.
zsh -c 'a[33]=1; printf "%.0s\n" "${a[@]}"'
(7) 일부 NUL 바이트를 얻습니다.
head -c 5 /dev/zero | tr '\0' '\n'
널리 알려진
이는 더 널리 알려져 있고 사용되는 솔루션 옆에 있습니다.
(8) 사용 head
계산:
yes '' | head -n 23
(9)아니다POSIX. 일부 셸(적어도 ksh, bash, zsh)의 경우:
printf '%.0s\n' {1..23}
다른 언어
그리고 물론 (비POSIX) 상위 레벨 언어:
(10) 펄
perl -e 'print "\n" x 23'
perl -E 'say "\n" x 22'
(11) PHP
php -r 'echo str_repeat( "\n" , 3 );'
(12) 파이썬
python -c 'print("\n" * 3)'
답변3
$ yes "" | head -30
30개의 줄 바꿈을 얻으려면.
답변4
Python을 사용하는 것이 옵션인 경우 다음 명령은 원하는 방식으로 작동합니다.
python -c 'print("\n" * 3)'