다른 파일에서 list_file의 문자열을 제거합니다.

다른 파일에서 list_file의 문자열을 제거합니다.

haplotypes디렉터리의 파일이라는 목록에서 문자열을 제거 하려고 합니다 . *.txt아래는 내가 시도한 것입니다. 그러나 뭔가가 작동하지 않습니다.

#!/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

답변1

sed먼저 스키마 파일을 프로그램으로 변환한 다음 모든 파일에서 프로그램을 실행하는 것이 더 효율적입니다.

sed 's/.*/s|&||g/' haplotypes | sed -f - *.txt

관련 정보