일치하는 항목이 발견되면 열 1을 File1
열 2로 어떻게 바꾸나요?File2
File1
id1 36987
id2 75685
id3 12345
id4 12896
File2
id1 ID1
id2 ID2
id3 ID3
id5 ID5
나는 이것을 다른 것 위에 쓰고 싶습니다 File3
. 다음과 같아야 합니다:
File3
ID1 36987
ID2 75685
ID3 12345
id4 12896
내가 현재 시도하고 있는 것(실패):
sed `File2.txt | awk '{print "-e s/"$1"/"$2"}'`<<< "File1.txt"
답변1
그리고awk
$ awk 'NR==FNR {a[$1]=$2; next}; a[$1] {$1=a[$1]} 1' File2 File1
ID1 36987
ID2 75685
ID3 12345
id4 12896
답변2
sed
생성하는 데 사용하는 스크립트는 sed
다음과 같습니다.
sed 's=^=s/=;s= =/=;s=$=/=' File2 | sed -f- File1