CSV文件在日期命令Bash中转义逗号

时间:2018-11-06 15:53:03

标签: bash csv date

我正在尝试使用此命令将aws用户的创建日期以一种更用户友好的格式放入CSV文件中。我尝试过:

aws_user_friendly_date=$(date --date "$aws_user_create_date" '+%B %d\\, %Y')
aws_user_friendly_date=$(date --date "$aws_user_create_date" '+%B %d\, %Y')

我想注释掉逗号,因此它在CSV文件中的格式正确。

但是它不起作用,我将其作为输出:

AWS Account Creation Date: June 15\\, 2017
AWS Account Creation Date: June 15\, 2017

如果我留下逗号以免转义,则CSV文件会将年份放入其自己的列中。如何正确显示转义逗号,以免混淆CSV文件?

1 个答案:

答案 0 :(得分:2)

在许多CSV方言中,反斜杠只是常规字符,不会转义任何内容。在字段中放置文字逗号的方法是用双引号将字段值引起来。

aws_user_friendly_date=$(date --date "$aws_user_create_date" '+"%B %d, %Y"')

总体而言,更好的设计可能是以正确的机器可读格式存储日期,并仅在需要显示日期时才将其转换为易于阅读的格式。