Bashでカンマ区切りの行を分割する方法

Bashでカンマ区切りの行を分割する方法

次のCSVファイルがあります。

2017-06-01,3967485,Completed,local,in,0,13492,11746,2017-06-27 14:13:47+00,2017-06-27 14:20:16+00,389,ddb19040,mydomain.net,yourdomain.net,""
2017-07-01,3967488,Completed,local,in,0,13492,11746,2017-07-27 14:13:47+00,2017-06-27 14:20:16+00,389,ddb19040,mydomain.net,yourdomain.net,""

私がしなければならないのは、ファイルを1行ずつ繰り返して最初のフィールドを値として取得し、最初のフィールド(およびカンマ)なしで残りの行を別々の変数として保存するbashスクリプトを作成することです。

これまで、次のコードがあります。

 for aline in $(cat /tmp/test.csv); do                         
       echo $aline 
 done       

しかし、各行を解析する方法がわかりません。どんなアドバイスも本当にありがとうございます。

編集1

提案された答えを使用すると、new_fileに次の出力が生成されます。

   ,Completed,local,in,0,13492,11746,2017-06-27 14:13:47+00,2017-06-27 14:20:16+00,389,ddb19040,mydomain.net,yourdomain.net,""
   ,Completed,local,in,0,13492,11746,2017-07-27 14:13:47+00,2017-06-27 14:20:16+00,389,ddb19040,mydomain.net,yourdomain.net,""

各行の先頭にfield2を含めたい(提案回答の$ b)。

ベストアンサー1

使用方法awk

awk 'BEGIN{FS=",";OFS=","}{$1=""; print}' file_name

おすすめ記事