「、」を使用して値行を繰り返し、リストとして印刷する方法

「、」を使用して値行を繰り返し、リストとして印刷する方法

「、」を含む区切り文字を使用してファイルを繰り返し、「リスト」の値を印刷しようとしていますが、区切り文字のすべての値を取得する方法がわかりません。

次の電子メールを含むファイルがあります(すべて1行にあります)。

[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

1つの解決策は次のとおりです。

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

答え2

ソリューションがパッケージtrに含まれているため、ソリューションを使用することをお勧めします。coreutils

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

関連情報