Respostas:
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.
Você pode usar cut
:
cut -c N- file.txt > new_file.txt
-c:
personagens
file.txt:
Arquivo de entrada
new_file.txt:
arquivo de saída
N-:
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.
tail -f logfile | grep org.springframework | cut -c 900-
removeria os primeiros 900 caracteres
cut
usa 900- para mostrar o 900º caractere no final da linha
no entanto, quando eu canalizo tudo isso através do grep, não recebo nada
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:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
ou
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'
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}}
}