스크립트 - 수직선

스크립트 - 수직선

사용자가 텍스트를 입력할 수 있도록 하고 동일한 텍스트를 여러 줄로 출력하는 스크립트를 만들고 싶습니다.

예:

입력하다:

Hi Jack,
how are you?

산출:

0001: Hi Jack,
0002: how are you?

답변1

간단한 해결책 read:

I=0; while read -r; do ((I++)); echo "$I: $REPLY"; done< test.txt;

여기서 test.txt를 스크립트 매개변수로 변경할 수 있습니다.

bash 변수를 사용하지 않으려면 다음을 수행하십시오 REPLY.

I=0; while read -r LINE; do ((I++)); echo "$I: $LINE"; done< test.txt;

아니면 "LINE"을 대체할 다른 것

답변2

출력을 파이프할 수 있습니다.nl

ls /etc | head | nl --number-separator=$':\t' --number-format=rz --number-width=4
0001:   alternatives
0002:   bash.bash_logout
0003:   bash.bashrc
0004:   bash_completion.d
0005:   csh.cshrc
0006:   csh.login
0007:   dbus-1
0008:   defaults
0009:   drirc
0010:   fonts

:입력 텍스트에서 콜론( )을 공백 하나로 구분하려면 --number-separator 매개변수를 에서 로 변경 $':\t'합니다 ': '.

관련 정보