Usando o comando paste para unir-se ao delimitador de vários caracteres

5

Eu tenho um arquivo que é gerado com base nos argumentos e tem o seguinte conteúdo.

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

Agora, essas são, na verdade, partições de data para a consulta de seção. Então, eu quero usá-los na minha consulta de seção onde especifico cada uma dessas partições na cláusula WHERE . Algo como abaixo

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

Então, estou procurando a saída de paste as

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

Estou usando o seguinte, mas acho que o parâmetro -d é uma lista de delimitadores e não um delimitador completo.

paste -sd"','" datefile

Alguma ideia de como posso fazer isso?

    
por divinedragon 17.01.2013 / 11:47

2 respostas

3

Usando sed e colar juntos:

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

Tente:

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