Eu tenho um csv separado por cxomma que quero transformar em html personalizado e encontrei outro script que o fez, mas não foram nada além de problemas para mim desde que uso https://www.tutorialspoint.com/execute_bash_online .php para executá-lo.
Aqui está o script que encontrei: https://unix.stackexchange.com/questions/105501/convert-csv-to-html-table
Meu problema é que minha produção precisa ser um pouco diferente, e algo sobre o ECHO está realmente lutando. Então, aqui está um exemplo da minha lista:
Produto, 100 usd Agora, usando este script, desejo converter isso para parecer: Produto 100 usd
Basicamente, separando a lista em 2 células. Mas o eco continua a desaparecer, por isso é apenas uma bagunça. Não sei se é porque o emulador do bash quebra as linhas, mas continuo recebendo erros, nos quais parece assumir> <e tr e td é um comando .
Atualmente, meu script se parece com isso e reflete o quanto eu lutei com o eco ..:
while read INPUT ; do
echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";
echo ""onmouseout="this.style.backgroundColor='#d4e3e5';>";
echo ""<td>${INPUT//,/</td><td><b>}</b></td></tr>";""
done
E isso gera:
$bash -f main.sh
main.sh: line 2: tr: No such file or directory
main.sh: line 4: ;
echo <td>six</td><td><b>nine</td><td><b>twelve</b></td></tr>: No such file or directory
main.sh: line 4: : command not found
Eu experimentei como um louco com eco, mas agora estou no meu juízo final. Toda e qualquer ajuda é grandemente aceita com gratidão.
echo
não lê de stdin, então um heredoc não seria útil aqui. Talvez você pretendesse usarcat
esse último trecho?Eu acho que você provavelmente está latindo na árvore errada com eco, provavelmente sed ou awk ou perl ou outra coisa pode ser uma solução melhor, mas, para que suas cordas de eco funcionem, você pode escapar das aspas e cifrões que deseja imprimir , gostar:
man bash
tem muito mais informações, consulte a seção Citações e observe coisas como:fonte
SO, eu não uso scripts há muito tempo, muito menos o uso há anos. Mas tentei a última solução que você apresentou e quando o faço: cat prices.csv | sh test2.sh não retorna nada além de espaços em branco.
Quando tento a primeira solução, obtenho: ~ $ cat prices.csv | sh test2.sh test2.sh: 4: test2.sh: erro de sintaxe: redirecionamento inesperado
Portanto, não tenho certeza se estou usando a solução 2 errada e não sei por que a solução 1 ainda o faz?
fonte