쉘 스크립트에 새 줄을 추가하는 방법

쉘 스크립트에 새 줄을 추가하는 방법

저는 rhel7을 사용하고 있으며 다음과 같이 Shadow에서 출력을 인쇄하려고 합니다.

test1 !!
test2 !!
test3 *

나는 다음 명령을 실행하고 있습니다 :

i=`cat /home/mydir/shadow1 |awk -F ':' '{print $1,$2}' `

이렇게 하면 echo $i출력이 한 줄로 인쇄됩니다.

test !! test2 !! test3 *

'{print $1,$2}'새 줄을 인쇄하도록 수정하는 방법을 제안할 수 있는 사람이 있나요 ?

답변1

질문은 분명합니다. 이 문제는 다양한 방법으로 해결될 수 있습니다. 의도가 무엇인지는 확실하지 않지만 다음 예를 사용할 수 있습니다.

while IFS=: read -r user stat _; do echo "$user" "$stat"; done < /etc/shadow

awk의 전체 출력을 저장하려면 다음과 같이 사용할 수 있습니다.

 var=$(awk -F: '{print $1,$2}' /etc/shadow)

echo "$var"그런 다음 결과를 인쇄 하면 됩니다 .

답변2

awk print-statement로 모든 것이 정상입니다.

에코에 따옴표를 사용하십시오.

echo "$i"

답변3

바꾸다에코$i, 다음을 사용해 보세요:

echo -e "$i\n"

이렇게 하면 줄 끝에 개행 문자가 추가됩니다.

도움이 되었기를 바랍니다.

관련 정보