Por exemplo, eu posso querer:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Eu estava pensando que tr
poderia ter a capacidade de fazer isso, mas não tenho certeza.
Use cut
. Por exemplo. para remover os 4 primeiros caracteres de cada linha (ou seja, comece no 5º caractere):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
para resolver esse problema.e você substitui 5 pelo número que você quer ... deve fazer o truque ...
EDITAR se para cada linha
sed 's/^.\{5\}//g' logfile
fonte
Você pode usar
cut
:-c:
personagensfile.txt:
Arquivo de entradanew_file.txt:
arquivo de saídaN-:
Caracteres de N ao final a serem cortados e enviados para o novo arquivo.Também pode ter outros argumentos, como: 'N', 'N-M', '-M', que significa enésimo caractere, enésimo a mésimo caractere, primeiro ao mésimo caractere, respectivamente.
Isso executará a operação para cada linha do arquivo de entrada.
fonte
removeria os primeiros 900 caracteres
cut
usa 900- para mostrar o 900º caractere no final da linhano entanto, quando eu canalizo tudo isso através do grep, não recebo nada
fonte
Eu acho
awk
que seria a melhor ferramenta para isso, pois ele pode filtrar e executar as funções de manipulação de string necessárias em linhas filtradas:ou
fonte
Aqui está uma função simples, testada no bash. O primeiro parâmetro da função é string, o segundo parâmetro é o número de caracteres a serem removidos
function stringStripNCharsFromStart { echo ${1:$2:${#1}} }
Uso:
fonte