
Estou tentando imprimir o conteúdo de um arquivo de texto (na verdade, suas strings). Estou familiarizado com alguns comandos como grep
, awk
, sed
; Quero forçar a echo
string em seu local original no arquivo e não consegui. Você entende??
Exemplo:
Abaixo está uma parte do arquivo string:
Este é um arquivo de texto cheio de strings ...
Agora quero imprimir a palavra text
no bash, mas não no início da linha. Quero imprimir em seu próprio lugar assim:
--------text---------------------------------
E sem travessões. Como eu posso fazer isso?
Responder1
Algo assim, talvez?
$ echo 'This is a text file full of strings...' |
perl -pe 's/(^.*)(text)(.*$)/sprintf "%*s", length($1)+length($2), $2/e'
text
ou seja, imprima a string correspondente em um campo de largura igual à soma de sua largura e da largura do prefixo.