Se você deseja imprimir apenas os primeiros 75 caracteres da segunda coluna (incluindo espaços e assumindo apenas duas colunas no arquivo), você pode fazer:
$ perl -pe 's/(\t.{75}).*/$1/' file
XY981743 foobarlkasdf saflkas asfZR!sgfad asdSAD asdsadf SAdfasdf46lk lksad bar fool
Ou com o GNU sed
:
$ sed 's/\(.*\t.\{75\}\).*//' file
XY981743 foobarlkasdf saflkas asfZR!sgfad asdSAD asdsadf SAdfasdf46lk lksad bar fool
Ou:
$ sed -r 's/(.*\t.{75}).*//' file
XY981743 foobarlkasdf saflkas asfZR!sgfad asdSAD asdsadf SAdfasdf46lk lksad bar fool
Como alternativa, você pode usar fold
, dizendo para cortar os primeiros 91 caracteres (8 para o identificador e 8 para a guia) e imprimir apenas a primeira linha:
$ fold -w 91 file | head -n1
XY981743 foobarlkasdf saflkas asfZR!sgfad asdSAD asdsadf SAdfasdf46lk lksad bar fool
Se o seu arquivo puder ter mais de 2 colunas e você quiser apenas truncar o segundo, você pode fazer (o que, como acabei de notar, é apenas uma reformulação de Resposta de Estevão ):
$ awk -F"\t" -vOFS="\t" '{$2=substr($2,1,75)}1;' file
XY981743 foobarlkasdf saflkas asfZR!sgfad asdSAD asdsadf SAdfasdf46lk lksad bar fool
Ou (observe que isso será interrompido se os primeiros 75 caracteres da segunda coluna puderem ser interpretados como uma expressão regular):
$ perl -F"\t" -pale 's/$F[1]/substr($F[1],0,75)/e' file
XY981743 foobarlkasdf saflkas asfZR!sgfad asdSAD asdsadf SAdfasdf46lk lksad bar fool