Extraindo intervalo específico de caracteres de cada linha [duplicado]

0

Eu preciso selecionar 10 caracteres de cada linha. Eu tenho um arquivo como este

TestSampleSampleSampleSample
Test1Test2Testtest4Test10Test11
lksdnlkdod

Eu preciso modificá-lo para que pareça:

 TestSample
 Tes1Test2T
 lksdnlkdod
    
por Naresh 01.09.2016 / 20:15

2 respostas

1

Você pode usar o corte para processar todo o arquivo linha por linha:

cut -c -10 < inputfile
    
por 01.09.2016 / 20:27
0

Múltipla maneira de fazer isso.

  • com sed :
# Posix Regex
sed -e 's/\(.\{10\}\).*//'

# Extended Regex
sed -Ee 's/(.{10}).*//'
  • com awk :
awk '{ print substr($0, 1, 10) }'
  • Com perl:
# first way - classic one line
perl -ane 'print $1."\n" if /(.{10})/'

# second way - with field separator
perl -F"(.{10})" -ane 'print $F[1]."\n"'

ou com cut (veja @gnp resposta).

    
por 01.09.2016 / 21:32