Greetings,
I have a datafile with records containing encoded characters (unknown format). I need to write a script which would find and move those records to another directory as well as subtitute those encoded characters with question marks.
Here is what I wrote so far... For some reason, any records with white spaces, tildas (~), dashes (-) are also being moved among with the records with encoded characters.
I appreciate any help in advance!
P.S. The data below is just a segment of the 5K records file. The other records do not start with "ALL_LISTS.."
I am running the script on Linux server - Linux sles1 2.6.16.60-0.21-bigsmp
===================
ALL_LISTS.dat
===================
ALL_LISTS_1004_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_1005_UC004 Efetivação da Abertura CP 2424-07 Conta Pré-Aberta Solução Employer.doc
ALL_LISTS_1498_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_1499_UC004 Efetivação da Abertura CP 2424-07 Conta Pré-Aberta Solução Employer.doc
ALL_LISTS_1500_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_1930_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2072_UC01_Aplicação_CDB_DI - Supl DTS 10.03.2008
ALL_LISTS_2073_UC02_Resgates_CDB_DI_- Supl DTS10.03.2008
ALL_LISTS_2074_UC03_Agendamentos_CDB_DI_ - Supl DTS10.03.2008
ALL_LISTS_2091_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2105_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2293_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2307_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2596_UC01_nova politica da tsy cdb di.doc
ALL_LISTS_2922_Testes.xls
ALL_LISTS_3314_TAP_Cobrança de Encargos - Exclusão Cheques HSBC.doc
ALL_LISTS_3367_contrato 6090766690 teste liq. antec
ALL_LISTS_3488_UC001_Contencioso_ ECC_Rev.doc
ALL_LISTS_348_TAP-CP1089-Conta Losango-Tarifa e Capitalização_V1.0.doc
ALL_LISTS_348_TAP-CP1089-Conta Losango-Tarifa e Capitalização_V1.1.doc
ALL_LISTS_3641_fci0066.Termo de Adesão_INSS_17.02.2010.pdf
ALL_LISTS_3642_U104 - Demonstrar Taxa Plena na Contratação_INSS_HLS_V10.doc
ALL_LISTS_3642_U105 - Demonstrar Taxa Plena na Contratação_Extra Money_ HLS_V10.doc
ALL_LISTS_3642_U106 - Demonstrar Taxa Plena na Contratação_Consignação_HLS_V10.doc
ALL_LISTS_3642_U110 - Imprimir Termo Termo de Adesão em Proposta em Andamento_HLS_V12.doc
ALL_LISTS_3642_U111 - Imprimir Termo de Adesão em Impressão de Documentos_HLS_V12.doc
ALL_LISTS_3642_U112 - Consultar Taxa Plena do Contrato_HLS_V10.doc
ALL_LISTS_3643_U101 - Demonstrar Taxa Plena na Contratação Beneficiário INSS_CNB_V12.doc
ALL_LISTS_3643_U102 - Demonstrar Taxa Plena na Contratação_Funcionário Privado_CNB_V11.doc
ALL_LISTS_3643_U103 - Demonstrar Taxa Plena na Contratação_Funcionário Público_CNB_V11.doc
ALL_LISTS_3644_U101 - Demonstrar Taxa Plena na Contratação Beneficiário INSS_CNB_V12.doc
ALL_LISTS_3644_U102 - Demonstrar Taxa Plena na Contratação_Funcionário Privado_CNB_V11.doc
ALL_LISTS_3644_U103 - Demonstrar Taxa Plena na Contratação_Funcionário Público_CNB_V11.doc
ALL_LISTS_3647_UC001_ECC_Priorizar_crédito_Integrada_IR.doc
ALL_LISTS_404_RS_Do_CP_0446_07_Saq_Dep_Cta_Losango_Corresp_Bancário.doc
ALL_LISTS_404_TAP_CP_0446_07_Saq_Dep_Cta_Losango_Corresp_Bancário.doc
ALL_LISTS_404_UC_Do_CP_0446_07_Depósito.doc
ALL_LISTS_404_UC_Do_CP_0446_07_Saque.doc
ALL_LISTS_437_TAP_Encargos Excesso Limite.doc
ALL_LISTS_447_Requeriments Specification-V.1.0 - Extinção de Isenção Acumulada.doc
ALL_LISTS_447_Test Activity Plan - Extinção da Isenção Acumulada Inv.+ Neg..doc
ALL_LISTS_447_UC 001 - Pacote para mapear clientes contemplados com a isenção acum.doc
ALL_LISTS_447_UC 002 - Aplicação de melhor Percentual.doc
ALL_LISTS_480_Test Activity Plan - TAC Cheque Especial.doc
ALL_LISTS_704_TC007 - Crédito Parcelado .xls
ALL_LISTS_704_UC007 - Crédito Parcelado v1_4.doc
ALL_LISTS_712_RS_Do_CP_1434_06_Criar_Rel_ctas_Paralisadas.doc
ALL_LISTS_712_TAP_CP_1434_06_Criar_Rel_Ctas_Paralisadas.doc
ALL_LISTS_712_UC_Do_CP_1434_06_Criar_Rel_Ctas_Paralisadas.doc
ALL_LISTS_720_TAP - Infra-estrutura GRI - Cheques HSBC.doc
ALL_LISTS_723_TAP_Nova Ordem de Uso de Recursos - GRI.doc
ALL_LISTS_724_TAP_Nova Ordem de Uso de Recursos - GRI.doc
ALL_LISTS_727_TAP_Nova Ordem de Uso de Recursos - GRI.doc
ALL_LISTS_749_TAP_Campo de Desconto Para Cheque Especial.doc
ALL_LISTS_762_TAP_Cobrança de Encargos - Exclusão Cheques HSBC.doc
ALL_LISTS_772_RS_CP1227-2007_Repasse TAC HSPL.doc
ALL_LISTS_772_Test Activity Plan - UAT - Parte 1.doc
ALL_LISTS_772_Test Activity Plan - UAT - Parte 2.doc
ALL_LISTS_772_UC001 - Criar novo código de tarifa.doc
ALL_LISTS_781_Test Activity Plan - Alteração Movimentadores Conta Corrente.doc
ALL_LISTS_794_TAP_do_CP_0298_07_Posição Semestral de Estoque de Talonários.doc
ALL_LISTS_806_TAP_do_CP_1241_06_Retirar Trava Que Impede Encerramento de Poup Tarifada.doc
ALL_LISTS_810_TAP_do_CP_1640_07_Geração de Dados para Inclusão da Poupança na CNV.doc
ALL_LISTS_816_TAP_do_CP_0181_07_Alteração Tipo Poupança 14 para 39.doc
ALL_LISTS_928_TAP_do_CP_0298_07_Posição Semestral de Estoque de Talonários.doc
ALL_LISTS_978_TAP_Rentabilidade Fundos_No Meu_ HSBC.doc
ALL_LISTS_978_UC001_CP_0731_2007_Rentabilidade_Fundos_IB .doc
ALL_LISTS_998_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
===========================================================
here is my script
===========================================================
#!/bin/bash
rootdir=/root/alex/26775_MinorProjectPFS_2008/
scrdir=${rootdir}/scripts/
indir=${rootdir}copy_attach/
boutdir=${rootdir}captured/
goutdir=${rootdir}toretain/
#flist=${scrdir}filelist.dat
flist=${scrdir}ALL_LISTS.dat
# Move filenames in current directory containing bad characters to another directory.
#for filename in $flist
while read filename
do
badname=`echo "$filename" | egrep "[^a-zA-Z0-9_\t\!\~\.\/\-\_\s]"`
goodname=`echo "$filename" | egrep -v "[^a-zA-Z0-9_\/ \/\!\~\t\.\/\-\_\s]"`
cp -p ${indir}"${badname}" $boutdir
cp -p ${indir}"${goodname}" $goutdir
done<$flist
exit
I have a datafile with records containing encoded characters (unknown format). I need to write a script which would find and move those records to another directory as well as subtitute those encoded characters with question marks.
Here is what I wrote so far... For some reason, any records with white spaces, tildas (~), dashes (-) are also being moved among with the records with encoded characters.
I appreciate any help in advance!
P.S. The data below is just a segment of the 5K records file. The other records do not start with "ALL_LISTS.."
I am running the script on Linux server - Linux sles1 2.6.16.60-0.21-bigsmp
===================
ALL_LISTS.dat
===================
ALL_LISTS_1004_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_1005_UC004 Efetivação da Abertura CP 2424-07 Conta Pré-Aberta Solução Employer.doc
ALL_LISTS_1498_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_1499_UC004 Efetivação da Abertura CP 2424-07 Conta Pré-Aberta Solução Employer.doc
ALL_LISTS_1500_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_1930_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2072_UC01_Aplicação_CDB_DI - Supl DTS 10.03.2008
ALL_LISTS_2073_UC02_Resgates_CDB_DI_- Supl DTS10.03.2008
ALL_LISTS_2074_UC03_Agendamentos_CDB_DI_ - Supl DTS10.03.2008
ALL_LISTS_2091_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2105_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2293_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2307_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
ALL_LISTS_2596_UC01_nova politica da tsy cdb di.doc
ALL_LISTS_2922_Testes.xls
ALL_LISTS_3314_TAP_Cobrança de Encargos - Exclusão Cheques HSBC.doc
ALL_LISTS_3367_contrato 6090766690 teste liq. antec
ALL_LISTS_3488_UC001_Contencioso_ ECC_Rev.doc
ALL_LISTS_348_TAP-CP1089-Conta Losango-Tarifa e Capitalização_V1.0.doc
ALL_LISTS_348_TAP-CP1089-Conta Losango-Tarifa e Capitalização_V1.1.doc
ALL_LISTS_3641_fci0066.Termo de Adesão_INSS_17.02.2010.pdf
ALL_LISTS_3642_U104 - Demonstrar Taxa Plena na Contratação_INSS_HLS_V10.doc
ALL_LISTS_3642_U105 - Demonstrar Taxa Plena na Contratação_Extra Money_ HLS_V10.doc
ALL_LISTS_3642_U106 - Demonstrar Taxa Plena na Contratação_Consignação_HLS_V10.doc
ALL_LISTS_3642_U110 - Imprimir Termo Termo de Adesão em Proposta em Andamento_HLS_V12.doc
ALL_LISTS_3642_U111 - Imprimir Termo de Adesão em Impressão de Documentos_HLS_V12.doc
ALL_LISTS_3642_U112 - Consultar Taxa Plena do Contrato_HLS_V10.doc
ALL_LISTS_3643_U101 - Demonstrar Taxa Plena na Contratação Beneficiário INSS_CNB_V12.doc
ALL_LISTS_3643_U102 - Demonstrar Taxa Plena na Contratação_Funcionário Privado_CNB_V11.doc
ALL_LISTS_3643_U103 - Demonstrar Taxa Plena na Contratação_Funcionário Público_CNB_V11.doc
ALL_LISTS_3644_U101 - Demonstrar Taxa Plena na Contratação Beneficiário INSS_CNB_V12.doc
ALL_LISTS_3644_U102 - Demonstrar Taxa Plena na Contratação_Funcionário Privado_CNB_V11.doc
ALL_LISTS_3644_U103 - Demonstrar Taxa Plena na Contratação_Funcionário Público_CNB_V11.doc
ALL_LISTS_3647_UC001_ECC_Priorizar_crédito_Integrada_IR.doc
ALL_LISTS_404_RS_Do_CP_0446_07_Saq_Dep_Cta_Losango_Corresp_Bancário.doc
ALL_LISTS_404_TAP_CP_0446_07_Saq_Dep_Cta_Losango_Corresp_Bancário.doc
ALL_LISTS_404_UC_Do_CP_0446_07_Depósito.doc
ALL_LISTS_404_UC_Do_CP_0446_07_Saque.doc
ALL_LISTS_437_TAP_Encargos Excesso Limite.doc
ALL_LISTS_447_Requeriments Specification-V.1.0 - Extinção de Isenção Acumulada.doc
ALL_LISTS_447_Test Activity Plan - Extinção da Isenção Acumulada Inv.+ Neg..doc
ALL_LISTS_447_UC 001 - Pacote para mapear clientes contemplados com a isenção acum.doc
ALL_LISTS_447_UC 002 - Aplicação de melhor Percentual.doc
ALL_LISTS_480_Test Activity Plan - TAC Cheque Especial.doc
ALL_LISTS_704_TC007 - Crédito Parcelado .xls
ALL_LISTS_704_UC007 - Crédito Parcelado v1_4.doc
ALL_LISTS_712_RS_Do_CP_1434_06_Criar_Rel_ctas_Paralisadas.doc
ALL_LISTS_712_TAP_CP_1434_06_Criar_Rel_Ctas_Paralisadas.doc
ALL_LISTS_712_UC_Do_CP_1434_06_Criar_Rel_Ctas_Paralisadas.doc
ALL_LISTS_720_TAP - Infra-estrutura GRI - Cheques HSBC.doc
ALL_LISTS_723_TAP_Nova Ordem de Uso de Recursos - GRI.doc
ALL_LISTS_724_TAP_Nova Ordem de Uso de Recursos - GRI.doc
ALL_LISTS_727_TAP_Nova Ordem de Uso de Recursos - GRI.doc
ALL_LISTS_749_TAP_Campo de Desconto Para Cheque Especial.doc
ALL_LISTS_762_TAP_Cobrança de Encargos - Exclusão Cheques HSBC.doc
ALL_LISTS_772_RS_CP1227-2007_Repasse TAC HSPL.doc
ALL_LISTS_772_Test Activity Plan - UAT - Parte 1.doc
ALL_LISTS_772_Test Activity Plan - UAT - Parte 2.doc
ALL_LISTS_772_UC001 - Criar novo código de tarifa.doc
ALL_LISTS_781_Test Activity Plan - Alteração Movimentadores Conta Corrente.doc
ALL_LISTS_794_TAP_do_CP_0298_07_Posição Semestral de Estoque de Talonários.doc
ALL_LISTS_806_TAP_do_CP_1241_06_Retirar Trava Que Impede Encerramento de Poup Tarifada.doc
ALL_LISTS_810_TAP_do_CP_1640_07_Geração de Dados para Inclusão da Poupança na CNV.doc
ALL_LISTS_816_TAP_do_CP_0181_07_Alteração Tipo Poupança 14 para 39.doc
ALL_LISTS_928_TAP_do_CP_0298_07_Posição Semestral de Estoque de Talonários.doc
ALL_LISTS_978_TAP_Rentabilidade Fundos_No Meu_ HSBC.doc
ALL_LISTS_978_UC001_CP_0731_2007_Rentabilidade_Fundos_IB .doc
ALL_LISTS_998_UC001 Reserva CP 2424-07 Conta Pré-aberta - solução Employer e CP 2427-07 Conta Pré-aberta Losango.doc
===========================================================
here is my script
===========================================================
#!/bin/bash
rootdir=/root/alex/26775_MinorProjectPFS_2008/
scrdir=${rootdir}/scripts/
indir=${rootdir}copy_attach/
boutdir=${rootdir}captured/
goutdir=${rootdir}toretain/
#flist=${scrdir}filelist.dat
flist=${scrdir}ALL_LISTS.dat
# Move filenames in current directory containing bad characters to another directory.
#for filename in $flist
while read filename
do
badname=`echo "$filename" | egrep "[^a-zA-Z0-9_\t\!\~\.\/\-\_\s]"`
goodname=`echo "$filename" | egrep -v "[^a-zA-Z0-9_\/ \/\!\~\t\.\/\-\_\s]"`
cp -p ${indir}"${badname}" $boutdir
cp -p ${indir}"${goodname}" $goutdir
done<$flist
exit