","를 사용하여 값 행을 반복하고 목록으로 인쇄하는 방법

","를 사용하여 값 행을 반복하고 목록으로 인쇄하는 방법

","가 포함된 구분 기호를 사용하여 파일을 반복하고 "목록"의 값을 인쇄하려고 하는데 구분 기호에 대한 모든 값을 가져오는 방법을 잘 모르겠습니다.

다음과 같은 이메일이 포함된 파일이 있습니다(모두 한 줄에 있음).

[email protected],[email protected],[email protected]

내 스크립트는 다음과 같습니다

EmailsFile="/dev/fs/C/Users/myuser/Desktop/EMAILSTOREAD.txt"

for email in $(cat ${EmailsFile} | cut -d "," -f 1-100)
do
   echo "${email}\n"
done

파일에 얼마나 많은 값이 포함될 수 있는지 확신할 수 없기 때문에 1-100을 했습니다.

내가 얻는 결과는 다음과 같습니다.

[email protected],[email protected],[email protected]

예상 출력:

[email protected]
[email protected]
[email protected]

어떤 아이디어가 있나요?

답변1

한 가지 해결책은 다음과 같습니다.

awk '{ gsub(",","\n"); print $0 }' $EmailsFile

답변2

솔루션이 패키지 tr에 포함되어 있기 때문에 솔루션을 사용하는 것을 선호합니다 .coreutils

tr ',' '\n' < ${EmailsFile}

관련 정보