Linux 合并两个文件,将文件1中的一个字段替换为文件2中的另一个字段

Linux 合并两个文件,将文件1中的一个字段替换为文件2中的另一个字段,linux,sh,paste,cut,Linux,Sh,Paste,Cut,文件1 哪个输出(仅第1行): 我需要将file1的第四列替换为file2的第一列(也是唯一一列) 请帮帮我 Ben使用粘贴和剪切,将字段分隔符设置为“|”: 输出: paste -d \| file[12] file1 | cut -d \| -f '-3,6,11' 请注意,kludge--cut的粗“-f”开关可以按顺序输出字段并跳过字段,但与纸质电传打字机一样,它无法备份!粘贴需要传递“file1”两次,而不是像剪切-f'-3,6,5',因此需要传递“11”字段 (上述工作可以在纯B

文件1

哪个输出(仅第1行):

我需要将file1的第四列替换为file2的第一列(也是唯一一列)

请帮帮我


Ben

使用粘贴和剪切,将字段分隔符设置为“|”:

输出:

paste -d \| file[12]  file1 | cut -d \| -f '-3,6,11'
请注意,kludge--cut的粗“-f”开关可以按顺序输出字段并跳过字段,但与纸质电传打字机一样,它无法备份!粘贴需要传递“file1”两次,而不是像剪切-f'-3,6,5',因此需要传递“11”字段


(上述工作可以在纯Bourne shell、bash、awk、sed等或它们的混合组合中轻松完成。)

您尝试了什么,您的问题在哪里?粘贴文件New f11.txtHai,$paste file1 file2输出是ANK37748 | DEL37728 | SRILANKA | 195210290000 | 201209111625 1952-10-29 12:00等我需要用file2列替换第四列我不知道如何做请帮助meHai agc非常感谢很 1952-Oct-29 12:00 1984-Oct-29 12:00 1999-Oct-29 12:00 1998-Oct-29 12:00 ANK37748|DEL37728|SRILANKA|1952-Oct-29 12:00|201209111625 CHA38228|DEL37728|SRILANKA|1984-Oct-29 12:00|201308071912 ANK37748|DEL37728|SRILANKA|1999-Oct-29 12:00|201407061815 CHA38228|DEL37728|SRILANKA|1998-Oct-29 12:00|201507062212
paste file1 file2
ANK37748|DEL37728|SRILANKA|195210290000|201209111625 1952-Oct-29 12:00 
paste -d \| file[12]  file1 | cut -d \| -f '-3,6,11'
ANK37748|DEL37728|SRILANKA|1952-Oct-29 12:00|201209111625
CHA38228|DEL37728|SRILANKA|1984-Oct-29 12:00|201308071912
ANK37748|DEL37728|SRILANKA|1999-Oct-29 12:00|201407061815
CHA38228|DEL37728|SRILANKA|1998-Oct-29 12:00|201507062212