저는 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"
이렇게 하면 줄 끝에 개행 문자가 추가됩니다.
도움이 되었기를 바랍니다.