Substituindo a primeira ocorrência de um padrão em uma linha, por todas as linhas em um arquivo por sed

Substituindo a primeira ocorrência de um padrão em uma linha, por todas as linhas em um arquivo por sed

É possível fazer isso em um forro?

Eu tenho uma saída como esta:

"First line" - Description  
" Second line" - Description  
"Third line" - Description  
" Fourth line" - Description  

Esta entrada é gerada automaticamente.

Quero substituir a primeira ocorrência de "(aspas + espaço) por "(aspas) para cada linha. Se eu aplicar a substituição globalmente, ela também mudará todas as ocorrências de line" -to line"-, então fiquei pensando se é possível usar um sed one liner para fazer isso.

Eu tentei usar ^assim

sed -r ':a;N;$!ba;s/(\^\" )/\"/g'

Mas não está funcionando, não substitui nada. tentei

sed -r ':a;N;$!ba;s/(^|\" )/\"/g'

e substitui todas as ocorrências. Acabei de começar a usar o sed, então não sei se estou fazendo algo errado.

O que estou perdendo aqui?

Responder1

Você está pensando demais. sedsubstitui apenas a primeira instância em uma linha por padrão (sem o /gmodificador), embora você ainda queira ancorar porque não deseja tanto a primeira instância na linha quanto aquela no início da linha; e você geralmente não precisa das ações de linha explícitas que está tentando usar (por quê?).

sed 's/^" /"/'

Responder2

Uma resposta mais geral, já que não posso comentar a resposta do geekosaur - Você não colocaria ^ (âncora de início de linha). Por exemplo, se você quiser substituir a primeira ocorrência de A por B, você terá

sed 's/A/B/'

Responder3

UsandoPerl

~$ perl -pe 's/^" /"/;'   file 

UsandoRaku(anteriormente conhecido como Perl_6)

~$ raku -pe 's/^\" \s /"/;'  file

Entrada de amostra:

"First line" - Description  
" Second line" - Description  
"Third line" - Description  
" Fourth line" - Description  

Exemplo de saída (ambos exemplos de código):

"First line" - Description  
"Second line" - Description  
"Third line" - Description  
"Fourth line" - Description  

https://perldoc.perl.org/perlre
https://perldoc.perl.org/perltrap#Sed-Traps
https://docs.raku.org/linguagem/regexes

informação relacionada