Excluindo a primeira letra de cada linha

0

Eu tenho um arquivo e preciso excluir sua primeira letra de cada linha. Eu tentei isso:

for i in
do
if [ $5 -eq cat harfler | grep 'head -n i harfler | head -c 1' ]
then
echo "succeded"
tr -d 'head -n i'
fi
done

mas nada acontece. Nem sequer echo "bem sucedido". Alguma ideia do porquê?

    
por zahedae 04.01.2015 / 15:03

2 respostas

1

Use o sed da seguinte forma:

sed 's/^.//' file

Para a linha, se começar com espaços:

sed 's/\S//' file

Corresponde a qualquer caractere de espaço não-branco, mas não a nova linha. Você pode usar \w ou [A-Za-z0-9_] .

O comando sugerido por @gleenjackman:

sed 's/[^[:blank:]]//' file

ou

sed 's/[^[:space:]]//' file

ou

sed 's/[[:alpha:]]//' file

ou contém números:

sed 's/[[:alnum:]]//' file

ou use:

while read line; do echo "${line:1}" ;done < file
    
por sddgob 04.01.2015 / 15:05
0

Você pode conseguir isso usando

sed -

sed 's/^.\{1\}//g' <filename>

cut -

cut -c 2- <filename>
    
por Rohith Madhavan 04.01.2015 / 15:07