「、」を含む区切り文字を使用してファイルを繰り返し、「リスト」の値を印刷しようとしていますが、区切り文字のすべての値を取得する方法がわかりません。
次の電子メールを含むファイルがあります(すべて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}