Mi problema es el siguiente: necesito un script en shell, el cual elimine los espacios en blanco del nombre de un archivo intercambiándolo po el carácter ¨_¨ gracias
1 respuesta
Respuesta de thetaurus
1
1
thetaurus, Ing. de Sistemas mencion Sumacumlaudem Consultor de Oracle...
Te mando unos script con el manejo de awk Para armar nombres de archivos! -------- substr($0,2,3),substr($0,11,2),substr($0,9,2),substr($0,5,4),substr($0,13,7)) }' 2> /dev/null` sequence1=`echo ${file_target} | cut -c1-11` sequence=`echo ${file_target} | cut -c1-11` list=`ls -r ${directory_target}${sequence}* 2> /dev/null` for file in ${list} { x=`echo ${file} | cut -c54-56` x=`expr ${x} + 1` [ ${x} -lt 10 ] && x="00"${x} || x="0"${x} sequence=`echo ${sequence} | cut -c1-11`${x}".txt" break } [ $sequence = $sequence1 ] && sequence=`echo ${sequence} | cut -c1-11`"001.txt" file_target=${sequence} echo -en "\nGenerating File ${file_target}..." error_awk=0 /usr/bin/awk '{ if ( NR == 1 ) lr = length($0); else { if ( lr != length($0) ) { print "\nFile Invalidate.\n" > "/dev/stderr"; 'error_awk=1'; exit; } }; if ( substr($0,13,2) == "04" ) { datafield = substr($0,15,6); command = "./convertor_file_baruta_sql.sh "substr($0,13,2)" "datafield" 1"; command | getline field; if ( field == "no_data_found" ) { command = "./convertor_file_baruta_sql.sh "substr($0,13,2)" "datafield" 2"; command | getline field; } printf("%s%s%s%s%s%s%s%s\n", substr($0,0,3), substr($0,59,8), "'`getlocation 7`'", field, "0", substr($0,67,13), "0", substr($0,4,9)); } else datafield = substr($0,21,9); }' ${directory_source}${file_source} > ${directory_target}${file_target} [ ${error_awk} -eq 1 ] && rm -f ${directory_target}${file_target} || mv ${directory_source}${file_source} ${directory_target_old}${file_source} echo -e "Done" exit 0 ------------------ Si consigo otro te lo envío luego! Suerte