|
|
|
|
site google
|
|||||||
| Fóruns | Registar | Blog | Man Pages | Fórum Regimento | Ligações | Álbuns | FAQ | Usuários | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
![]() |
|
|
Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|||
|
Ksh Expressão
Quick questão relacionada com ksh expressões (não unix expressões regulares). Estou tentando criar uma estrutura que irá identificar corretamente as linhas que correspondem aos seguintes CSV texto em um caso declaração: Código:
filename.txt, filename.txt, alpha, nnnn, nnnn, nnnn, Free form text Inicialmente eu simplesmente uma expressão usada como *,*,*,*,*,*,* no caso seguinte declaração: Código:
case ${LINE} in
# Expression 1..n are informational and specific enough that the
# expressions work well
expression 1..n)
... match expressions 1..n logic ... ;;
# CSV lines contain 7 fields and 6 commas
*,*,*,*,*,*,*)
... match valid CSV line logic ... ;;
# Malformed CSV lines or any other not matching my list of expressions
*)
... malformed CSV line or other mismatch ... ;;
esacProblema: Achei que a expressão corresponde *,*,*,*,*,*,* CSV casos como estes: Código:
field1, field2, field3, field4, field5, field6, field7, field8, field9 field1, field2, field3, field4, field5, field6 field1, field2, field3, field4, field5, field6, field7,,,,,,, ,field1, field2, field3, field4, field5, field6, field7 Tenho tentado inúmeras variações e acabaram com esta expressão: Código:
case ...
...
@(*)@(,)@(*) ) ...
...
esacPosso combinar com maior precisão, e isto unhas a menor CSV lista de "texto, texto", mas ainda tenho a incorporar alguns vírgula contando lógica, que não deseja incluir. As vírgulas e / ou asteriscos estão a causar-me com complicações várias expressões que eu tenho tentado (essencialmente * jogos vírgulas). Produção código é muito difícil mudar onde eu trabalho, uma vez implementadas, de tal modo que eu gostaria de terminar uma expressão muito precisa agora e deixar o final *) expressão armadilha todos malformed linhas. O que estou fazendo errado? Pela maneira, eu não tenho controle do arquivo de dados fornecidos mim para alterações na minha fonte de dados não irá acontecer. |
| Links Patrocinados |
|
|
|
|||
|
Código:
file1.txt, file1_original_name.txt, control1, 1001, 100001, 10000, Data Sample 1 file2.txt, file2_original_name.txt, control5, 2001, 100002, 10000, Data Sample 2 file3.txt, file3_original_name.txt, control7, 3001, 100003, 20000, Data Sample 3 |
|
|||
|
Excelente. Isso me muito perto. Linhas como esta ainda deve passar para a final "*": Código:
file1.txt, file1_original_name.txt, control1, 1001, 100001, 10000, Data Sample 1,,,,, A modificação da expressão ajuda a estreitar-lo: Código:
+([_a-zA-Z0-9]).txt,+( )+([_a-zA-Z0-9]).txt,+( )+([a-zA-Z0-9]),+( )+([0-9]),+( )+([0-9]),+( )+([0-9]),+( )+([ a-zA-Z0-9])) e acho que isso permite que qualquer coisa, mas uma vírgula no final do campo: Código:
+([_a-zA-Z0-9]).txt,+( )+([_a-zA-Z0-9]).txt,+( )+([a-zA-Z0-9]),+( )+([0-9]),+( )+([0-9]),+( )+([0-9]),+( )+([!,]) Eu preciso puxar o arquivo um pouco, mas creio que tem a base para pregar estabelece uma expressão muito precisa. Obrigado pela ajuda! Thomas |
| Links Patrocinados | ||
|
|
![]() |
| Marcadores |
| Tags |
| regex, expressões regulares |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Reg expressão para | Harikrishna | Programação Shell Script e | 2 | 05-07-2008 02:40 |
| error: initializer expressão lista tratados como compostos expressão | arunchaudhary19 | Programação | 12 | 11-16-2007 06:44 |
| Ajuda com Reg. Expressão | moe2266 | UNIX para Dummies Perguntas & Respostas | 7 | 07-16-2007 05:05 |
| Ou expressão | Rock | UNIX para Dummies Perguntas & Respostas | 3 | 05-03-2007 09:50 |
| Expressão Regular + Aritmetical Expressão | Z0mby | Programação Shell Script e | 2 | 05-21-2002 11:59 |