Pergunta simples e rápida.
eu tenho isto
awk -f file # awk use file as input
awk '/word/' file # awk show me word
awk '/32$/' text # all words with 32..
eu quero isso
# awk use file as input
awk -f file
# awk show me word
awk '/word/' file
# all words with 32..
awk '/32$/' text
É possível fazer isso usando o awk? Também outros comandos são bem-vindos (perl, sed, python..)
Isso só funciona se você tiver apenas 1
#
precedido por espaços em cada linha de entrada, como no exemplo de entrada/saída que você forneceu. Se esse não for o caso em seus dados reais, edite sua pergunta para fornecer amostras de entrada/saída mais verdadeiramente representativas, incluindo, por exemplo, casos com#
s precedidos por espaços em seu código awk e/ou nos comentários, por exemplo:e diga-nos o algoritmo pelo qual tais casos, especialmente
#
os que estão dentro dos comentários, devem ser tratados.Com
perl
:Isso move a parte após a ocorrência mais à direita de
#
pelo menos um caractere de espaço em branco após um caractere que não seja de espaço em branco.Com
-i
, o arquivo é editadoi
em n-lugares.