sed para procurar por aba

0

Eu tenho um arquivo de configuração no seguinte formato

#   ra  y   1000000 \x2e\x72\x61\xfd
#   ost y   500000000   \x21\x42\x44\x4e
#   java    y   1000000 \xca\xfe\xba\xbe

Isso é o que eu quero fazer:

  1. Pesquise ra , ost , java
  2. Se houver uma guia antes e depois de ra , ost , java , remova # no início

Estou me concentrando na guia porque o arquivo de configuração também contém outro texto que pode ter ra , ost , java mencionado, mas todos serão separados com espaço antes ou depois porque eles seriam mencionados em um parágrafo e eu não quero descomentar essas linhas. Portanto, preciso procurar a guia

steeldriver já respondeu. A edição menciona uma parte do arquivo em que eu estava trabalhando, a pedido de John Goofy .

O arquivo é como

# Scalpel configuration file
...
# Scalpel can read Foremost 0.69 configuration files, but Scalpel
...
# Real Audio Files
#      ra  y       1000000 \x2e\x72\x61\xfd
# MISCELLANEOUS
#      java        y       1000000 \xca\xfe\xba\xbe
# Outlook files
#      ost y       500000000       \x21\x42\x44\x4e

Embora este arquivo de configuração não tenha mencionado a lista de nomes de formatos de arquivo, ele pode trabalhar, mas se ele tivesse mencionado os nomes como

# Scalpel works on ra ost java

Então a resposta que o steeldriver deu é perfeita

    
por GypsyCosmonaut 16.07.2017 / 15:43

1 resposta

2
sed '/^#\t\(ra\|ost\|java\)\t/ s/^#//' file

ou (se as expressões regulares estendidas são suportadas) você pode evitar um pouco do escape

sed -E '/^#\t(ra|ost|java)\t/ s/^#//' file
    
por 16.07.2017 / 15:57