다음과 같이 POSIX 입력을 어떻게 읽나요 bash
?
<name>,<tag1> <tag2> <tag3>…
시도해 보았지만
while read line;do done
줄 바꿈이 필요하고 내가 가진 것은 공백뿐입니다.
(예IFS해결책? 그렇다면 어떻게? (IFS를 완전히 이해하지 못합니다.)
답변1
배열을 사용하십시오:
echo '<name>,<tag1> <tag2> <tag3>' | while IFS=" ," read -a foo; do echo ${foo[@]}; done
산출:
<name> <tag1> <tag2> <tag3>
에서 man bash
:
IFS: 확장 후 단어 분할 및 read 내장 명령을 사용하여 줄을 단어로 분할하는 데 사용되는 내부 필드 구분 기호입니다.