使用粘贴命令连接多个字符分隔符

使用粘贴命令连接多个字符分隔符

我有一个根据参数生成的文件,它有以下内容。

2012-12-31
2012-12-30
2012-12-29

现在,这些实际上是 Hive 查询的日期分区。因此,我想在我的 Hive 查询中使用它们,并在子句中指定每个分区WHERE。如下所示

 WHERE log_date IN ('2012-12-31','2012-12-30', '2012-12-29')

paste因此,我正在寻找

 2012-12-31','2012-12-30','2012-12-29

我正在使用以下内容,但我认为-d参数是分隔符列表而不是一个完整的分隔符。

paste -sd"','" datefile

知道怎样做吗?

答案1

同时使用 sed 和 paste:

$ sed "s/.*/'&'/" file | paste -sd,
'2012-12-31','2012-12-30','2012-12-29'

答案2

尝试:

echo  "WHERE log_date IN ('$(sed -e :a -e "$!N; s/\n/','/; ta" datefile)')"

相关内容