Estou tentando remover o primeiro valor da 31ª coluna em um arquivo csv. As colunas estão entre aspas e separadas por vírgulas assim.
"first_name","last_name","home_address"
"Frank",Russel","123 Hampton road"
a 31ª coluna é a coluna da imagem e as imagens são separadas por vírgulas
"http://ddd.com/124dfr3f.jpg,http://ddd.com/hjasgx37trg.jpg"
A primeira imagem e a vírgula final devem ser removidas da 31ª coluna
Adicionado - Aqui está um exemplo.
"one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","three","four","five","six","seven","eight","nine","ten","twenty-one","twenty-two","three","four","five","six","seven","eight","nine","ten","thirty-one","thirty-two","three","four","five","six","seven","eight","nine","forty"
"one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","three","four","five","six","seven","eight","nine","ten","twenty-one","twenty-two","three","four","five","six","seven","eight","nine","http://pictures.domain.com/e/josequervo/1183/eeeffcc7927sssssssssss5d26c0eb19e1dc53548x.jpg","http://pictures.domain.com/e/josequervo/0083/eeef8cc7927bf1245d26c0eb19e1dc53545x.jpg,http://pictures.domain.com/e/josequervo/0099/eeefscc7927bf1245d26c0eb19e1dc53546x.jpg,http://pictures.domain.com/e/josequervo/0012/eeefdcc7927bf1245d26c0eb19e1dc53547x.jpg,http://pictures.domain.com/e/josequervo/1183/eeeffcc7927bf1245d26c0eb19e1dc53548x.jpg,http://pictures.domain.com/e/josequervo/1234/eeefgcc7927bf1245d26c0eb19e1dc53549x.jpg,http://pictures.domain.com/e/josequervo/asee/eeefhcc7927bf1245d26c0eb19e1dc53540x.jpg,http://pictures.domain.com/e/josequervo/2341/eeefjcc7927bf1245d26c0eb19e1dc53544x.jpg","two",three","four","five","six","seven","eight","nine","forty"
Este URL e vírgula devem ser removidos
http://pictures.domain.com/e/josequervo/0083/eeef8cc7927bf1245d26c0eb19e1dc53545x.jpg,
Eu postei apenas as 2 primeiras linhas do arquivo csv, mas o arquivo tem 300 - 400 linhas e esta imagem deve ser removida da linha 2 até a última linha. Não podemos alterar a primeira linha.
Usando GNU
sed
, podemos abordar isso como mostrado:Para ser entendido como:
Coloque um espaço reservado na 30ª ocorrência da
","
string na linha atual.Então, indo direto do espaço reservado até a primeira vírgula, excluímos tudo ao longo do caminho.
Outro método é dado da seguinte forma:
Método:
O perl lerá o arquivo csv linha por linha e, para cada linha, o dividirá ao redor da string
","
e armazenará os elementos divididos no array @F.Então, para o 31º elemento, removemos tudo até a primeira vírgula.
De acordo com sua pergunta, a imagem existe na 31ª coluna separada por vírgula e precisamos remover o primeiro caractere da 31ª coluna
Testado e está funcionando bem Avise-nos para qualquer confusão