반복 없이 여러 개의 빈 줄을 인쇄합니다.\n

반복 없이 여러 개의 빈 줄을 인쇄합니다.\n

echoLinux에서 새 줄을 생성하는 데 사용됩니다.

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)'

관련 정보