gpt4 book ai didi

linux - 用另一个文件中的值替换文件中的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:19 24 4
gpt4 key购买 nike

我有两个文件。其中一个定义了一组数字值对,如下所示 (fileA):

 1  asm
2 assert
3 bio
4 bootasm
5 bootmain
6 buf
7 cat
8 console
9 defs
10 echo

另一个文件包含一堆值对,如下(fileB):

bio types
bio defs
bio param
bio spinlock
bio buf
bootasm asm
bootasm memlayout
bootasm mmu
bootmain types
bootmain elf
bootmain x86
bootmain memlayout
cat types
cat stat
cat user

我想编写一个脚本,用文件 A 中相应的数字替换文件 B 中的值。它生成新文件还是更改现有文件 B 都没有关系。

有什么想法吗?谢谢

最佳答案

awk 'NR==FNR{a[$2]=$1;next}{$1=a[$1];}1' fileA fileB

NR==FNR{a[$2]=$1;next} => 处理文件A时为真。形成一个关联数组,其中索引是第 2 列,第 1 列作为其值。

{$1=a[$1];} => 当处理第二个文件时,将第一列替换为存储在数组中的适当值。

1 => 打印每一行。

关于linux - 用另一个文件中的值替换文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13079883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com