我是bash脚本的新手。我有一个包含三列数据的常规txt文件。我想把它变成csv格式。
hagabe 3322 7/28/14
uenebh 3878 7/26/14
jheheb 5569 7/27/14
看起来像:
hagabe,3322,7/28/14
我知道我可以拿每一列并制作一个文件,然后使用粘贴来创建csv,但这似乎过度杀戮。必须有一个更简单的方法。简单地删除空格并添加昏迷是否合乎逻辑?任何建议都表示赞赏!
答案 0 :(得分:3)
只需将awk
设置为OFS
,
awk -v OFS=, '{$1=$1}1' file
输出:
hagabe,3322,7/28/14
uenebh,3878,7/26/14
jheheb,5569,7/27/14
答案 1 :(得分:0)
通过awk,
$ awk '{gsub(/ +/,",")}1' file
hagabe,3322,7/28/14
uenebh,3878,7/26/14
jheheb,5569,7/27/14
答案 2 :(得分:0)
通过sed:
管道文件cat <file> | sed 's/[ ]\+/,/g'
答案 3 :(得分:0)
$ cat in
hagabe 3322 7/28/14
uenebh 3878 7/26/14
jheheb 5569 7/27/14
$ while read -ra line; do IFS=, eval echo \"\${line[*]}\"; done <in
hagabe,3322,7/28/14
uenebh,3878,7/26/14
jheheb,5569,7/27/14