remove strings em list_file de outro (s) arquivo (s)

1

Eu estou tentando excluir qualquer string de uma lista no arquivo chamado haplotypes de todos os arquivos *.txt em um diretório. Abaixo está minha tentativa, mas algo não está funcionando.

#!/bin/bash cat haplotypes | while read i; do sed -i -e 's/$i//g' *.txt; done;

haplotypes 100_fullA 100_fullB 105_fullA 105_fullB 112_fullA 112_fullB 121_fullA 121_fullB

    
por Josh 24.02.2017 / 01:26

1 resposta

1

Seria mais eficiente transformar primeiro o arquivo padrão em um programa sed e, em seguida, executar esse programa em todos os arquivos:

sed 's/.*/s|&||g/' haplotypes | sed -f - *.txt
    
por 24.02.2017 / 11:02