문자열이 "proto"
이고 384 번 반복되는 파일이 있습니다. 각 "proto"
은 다른 텍스트 파일에있는 384 개의 다른 레이블에 따라 편집해야합니다. 내재적으로, 두 번째 텍스트 파일의 내용이 a, sp, ..
(각 레이블이 개행 문자에 있음)이면 텍스트 파일에서 첫 번째 "proto"는 "a"
으로, 두 번째 텍스트는 "sp"
으로 변경해야합니다. 어떻게해야합니까? 당신이 볼 그래서, 내가 "proto"
의 한 형태가 a, ap, k12, sp, ...
: 원본 파일의 384 반복이다 :패턴 배열에 따라 특정 패턴을 편집하는 방법은 무엇입니까?
~o <VecSize> 39 <MFCC_0_D_A>
~h "proto"
<BeginHMM>
<NumStates> 5
<State> 2
<Mean> 39
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
<Variance> 39
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
<State> 3
<Mean> 39
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
<Variance> 39
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
<State> 4
<Mean> 39
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
<Variance> 39
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
<TransP> 5
0.0 1.0 0.0 0.0 0.0
0.0 0.6 0.4 0.0 0.0
0.0 0.0 0.6 0.4 0.0
0.0 0.0 0.0 0.7 0.3
0.0 0.0 0.0 0.0 0.0
<EndHMM>
과 두 번째 파일은 다음과 같은 384 개 레이블을 포함하고 있습니다. 나는 그것이 지금 분명하기를 바란다.
awk 'FNR==NR{a[++i]=$0; next} /proto/{sub(/proto/, a[++j])} 1' replacement.txt file.txt
"패턴"이라는 단어는 매우 모호합니다 (문자열 또는 regexp 또는 ...를 의미 할 수 있음). 따라서 소프트웨어 컨텍스트에서 절대 사용하지 마십시오. 'proto'라는 이름의 문자열을 다른 문자열로 바꾸려고하는 것 같습니다. 만약'protozoan '이 입력 파일에 있다면'proto' 부분을 대체 할 것인가? 몇 가지 샘플 입력과 예상 출력을 게시하고 대체하려는 것이 대체하기는 쉽지만 대체하지 않으려는 문자열을 대체하지 않으려면 훨씬 어렵습니다. –
안녕하세요 에드, 시간을내어 주셔서 감사합니다, 나는 단지 "ptroto"로 문자열을 가지고, 어떤 combinational 형태가 아닙니다. 파일이 상당히 크고 여기에 첨부 할 수 있는지 여부는 알 수 없습니다. – KianStar
절대 여기에 연결하지 마십시오. 도구가 제대로 작동하지 않을 경우를 포함하는 작은 대표 입력 샘플 세트 (10-15 줄 정도)를 게시하십시오. –