다음 형식의 HTML 링크 목록이 포함된 간단한 텍스트 파일이 있습니다.
<a href="https://xxxxxxxx" target="_blank" rel="">This_is_a_test001</a><br />
키워드 목록이 포함된 두 번째 텍스트 파일입니다. 두 번째 파일의 키워드와 일치하지 않는 첫 번째 파일에서 완전한 줄을 추출하고 싶습니다. 어떤 도구나 스크립팅 언어를 사용해도 좋습니다.
답변1
grep -vFf keywords.txt file.txt
file.txt
행이 포함되지 않은 행이 나열됩니다 keywords.txt
.
awk -F '[<>]' '!x{k[$0]; next}; ! ($3 in k)' keywords.txt x=1 file.txt
또는 file.txt
의 두 번째와 세 번째 발생 사이에서 찾을 수 없는 부분이 있는 행을 나열합니다 .<
>
keywords.txt
답변2
다음 명령을 사용하여 요구 사항에 따라 결과를 얻을 수 있습니다.
awk 'NR==FNR{a[$1];next}!($1 in a){print $0}' Keyword_file first_file
Keyword_file===> Consists of keyword in first column
위 명령이 키워드_파일에 있는 키워드와 일치하면 first_file에서 줄이 삭제되고 나머지 줄이 표시됩니다.
아래는 동일한 예입니다.
혼란스러운 점이 있으면 말씀해 주세요.
Example
keyword_file
praveen
ajay
san
first_file
praveen is good
san is bad
abhi is great
kiran is awesome
command: awk 'NR==FNR{a[$1];next}!($1 in a){print $0}' Keyword_file first_file
output
abhi is great
kiran is awesome