
printf "%s\t" HEMES n{1..1600} >file_a
sed -i 's/\t*$//' file_a > file_a
remove uma tabulação que é causada no final da linha após a primeira linha do código (onde o material é impresso).
Meu problema agora é que eu precisaria remover a guia atrás dessa linha (começando com HEMES) em um arquivo maior que tenha mais linhas. Se eu apenas tentar a linha sed isso não funciona. A linha da qual desejo remover o caractere é sempre a primeira linha do arquivo.
Responder1
Em vez de fazer tudo em uma linha e enviar para o arquivo, separe-o em duas partes - produza a string HEMES e anexe a sequência n{1...1600}: printf "%s" HEMES > file_a; printf "%s\t" n{1..1600} >> file_a
.
Se você precisar remover especificamente a guia entre HEMES e n1 em um arquivo já existente, aqui está uma awk
solução:
awk ' {sub(/[[:blank:]]/,""); print} ' file_a > tmp_file && cat tmp_file > file_a
.
O que isso faz é pegar a subfunção, que exclui oprimeiroocorrência da guia, enviamos esse texto para um arquivo temporário e, em seguida, levamos esse conteúdo de volta para file_a. A razão para alternar entre arquivos é esta: a menos que você esteja usando a versão awk que permite edição inline (gnu awk, acredito), isso funcionará em qualquer caso - awk, mawk, nawk, etc.