Eliminar todos los caracteres después de caracteres no ascii en todas las columnas

Eliminar todos los caracteres después de caracteres no ascii en todas las columnas

Tengo un script bash que eliminará todos los caracteres no Ascii del archivo. Pero quería eliminar la cadena después del carácter no Ascii en todas las columnas. A continuación se muestra el guión,

> #!/bin/bash

SCRIPT_PATH=/trmout/TRMOUTPUT_PROD
BKP_PATH=/appinfprd/bi/infogix/Temp_Files/SUPPLY_CHAIN

File_Name=WB


########################################################################
##Deleting the precessed files ####
########################################################################

cd $BKP_PATH
rm *.*

#########################################################################
### removing the non ascii char from all Supply chain files #######
#########################################################################

for i in $SCRIPT_PATH/$File_Name*.txt
do

cp $i $BKP_PATH

##########################################################################
##Replacing the NON ASCII Char from Supply Chain files and saving it.####
##########################################################################
cat $i  >> $i.bkp

sed -i 's/[\d128-\d255]//g' $i.bkp

mv $i.bkp $i

done


#############################################################################################
##Creating a sample file which will be having the file name which has NON ASCII Char in it.##
#############################################################################################

cd $SCRIPT_PATH

grep -vlP '^[\0-\x7f]*$' WB*.txt >Supply_chain_Non_Ascii_List_File.txt
~
~

Respuesta1

¿Quiere decir que desea eliminar cualquier cosa en la línea después del primer carácter que no sea ASCII? En caso contrario, proporcione algunos ejemplos.

En caso afirmativo, su sed debería ser:

sed -i 's/[\d128-\d255].*$//' $i.bkp

Esto reemplazará el primer carácter no ASCII Y el resto de la línea por nada.

información relacionada