두 개의 텍스트 파일에 공백으로 구분 된 값이 있습니다. 두 파일의 키 열을 기반으로 파일을 결합하고 다른 파일로 출력하려고합니다. 내가 뭘하려고하는 것은이 두 가지를 결합하는 것입니다
awk 명령의 조건에 따라 두 파일을 결합하는 방법은 무엇입니까?
2004-03-31 03:38:15.757551 2 1 122.153 -3.91901 11.04 2.03397
2004-02-28 00:59:16.02785 3 2 19.9884 37.0933 45.08 2.69964
2004-02-28 01:03:16.33393 11 3 19.3024 38.4629 45.08 2.68742
2004-02-28 01:06:16.013453 17 4 19.1652 38.8039 45.08 2.68742
2004-02-28 01:06:46.778088 18 5 19.175 38.8379 45.08 2.69964
2004-02-28 01:08:45.992524 22 6 19.1456 38.9401 45.08 2.68742
location.txt
1 21.5 23
2 24.5 20
3 19.5 19
4 22.5 15
5 24.5 12
6 19.5 12
데이터의 milllion을 가지고 data.txt로,하지만 난 여기에 간단한 몇 가지 항목을 줄 것이다, 키 값 에 기반한 파일 location.txt 및 열 4 from data.txt에서 결과를 f 아래 data.txt로 및 2 열 및 3 location.txt에서 모든 데이터를 조합하여 ORMAT ..
2004-03-31 03:38:15.757551 2 1 122.153 -3.91901 11.04 2.03397 21.5 23
2004-02-28 00:59:16.02785 3 2 19.9884 37.0933 45.08 2.69964 24.5 20
2004-02-28 01:03:16.33393 11 3 19.3024 38.4629 45.08 2.68742 19.5 19
2004-02-28 01:06:16.013453 17 4 19.1652 38.8039 45.08 2.68742 22.5 15
2004-02-28 01:06:46.778088 18 5 19.175 38.8379 45.08 2.69964 24.5 12
2004-02-28 01:08:45.992524 22 6 19.1456 38.9401 45.08 2.68742 19.5 12
I awk 명령이 사용하고 :
awk -F' ' "NR==FNR{label[$1]=$1;x[$1]=$2;y[$1]=$3;next}; ($2==label[$2]){print $0 "," x[$2] y[$3]}" location.txt data.txt > result.txt
하지만 예상대로 출력을 얻지 못하고 있습니다. 누구든지 해결하도록 도울 수 있습니까? CSV 형식의 결과 파일을 쉼표로 바꿀 수 있습니까?
제안 : 1) 샘플 데이터를 짧게하여 5 줄을 말하고 5 줄만 줄입니다. 2) 원하는대로 정확히 예상 된 출력을 표시하십시오. 마지막에 작성한 내용을 놓치기 쉽습니다. 3) 자세한 방법을 설명하십시오. 출력이 도착했다. 코드에서 추측하기 쉽지 않다. – Sundeep
awk에 익숙하지 않지만 awk 명령을 작성한 많은 예제를 참조한다. 내가하려는 것은 location.txt와 data.txt 파일 각각 1 열과 4 열을 컴파일하여 location.txt 데이터를 data.txt 파일에 추가하고 출력을 새 파일에 저장하는 것입니다. – Snkini