grep -o 'F.*'
ou (precisamos de mais de 30 caracteres)
perl -pe 's!.*?F!F!'
Como posso remover caracteres de texto em uma linha antes de um caractere específico?
Eu quero remover os caracteres à esquerda da primeira letra "F"
Exemplo:
null###F01|54646466|00K4234001|IFD|1990101
null###F02|54646499|00K4234001|TFS|1990101
null###F03|03232432|00RWEREW01|ZAI|1990101
O resultado deve ser
F01|54646466|00K4234001|IFD|1990101
F02|54646499|00K4234001|TFS|1990101
F03|03232432|00RWEREW01|ZAI|1990101
Estou tentando com awk -F"F" '{print "F"$2}'
, mas não funciona.
Se a sua entrada all estiver assim, a solução mais eficiente é mais provável:
cut -d\# -f4- <<\IN
null###F01|54646466|00K4234001|IFD|1990101
null###F02|54646499|00K4234001|TFS|1990101
null###F03|03232432|00RWEREW01|ZAI|1990101
IN
Eu uso um documento acima para demonstrar, mas você pode usar apenas cut -d\# -f4- <infile >outfile
. Você também pode usar cut -c8- <in >out
(que, se eu for honesto, é provavelmente a maneira mais eficiente) . De qualquer forma ...
F01|54646466|00K4234001|IFD|1990101
F02|54646499|00K4234001|TFS|1990101
F03|03232432|00RWEREW01|ZAI|1990101
Tags text-processing awk sed