2개의 파일이 있는데 첫 번째 파일은 다음과 같습니다.
값.txt
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
데이터.csv
"username","email"
"user","[email protected]"
"user1","[email protected]"
"user2","[email protected]"
"user4","[email protected]"
"user456","[email protected]"
"user789","[email protected]"
"user5","[email protected]"
"user","[email protected]"
"user5","[email protected]"
"user","[email protected]"
출력이 다음과 같기를 원합니다.
"user","[email protected]"
"user1","[email protected]"
"user2","[email protected]"
"user4","[email protected]"
"user5","[email protected]"
"user5","[email protected]"
어떡해:
awk -F',' '$2 ~ /[email protected]/ {print $0}' data.csv > test1.csv
그러면 다음을 포함하는 새 파일 test1.csv가 생성됩니다.
"user5","[email protected]"
[email protected]
파일을 반복하고 value.txt 줄로 바꾸는 방법을 알 수 없습니다.
답변1
awk -F, '
NR==FNR{ a["\""$1"\""]; next }
$2 in a
' values.txt data.csv
첫 번째 입력 파일: 각 필드를 배열에 저장 a
하고 각 키에 접두사/접미사를 추가합니다 "
. 계속 녹음하세요 next
.
두 번째 입력 파일: 두 번째 필드가 배열에 있는지 테스트합니다 a
. 조건이 true인 경우 기본 작업은 레코드를 인쇄하는 것입니다.