awk 脚本和 for 循环

2024-01-11

我有一个数据集t.txt:

827 819
830 826
828 752
752 694
828 728
821 701
724 708
826 842
719 713
764 783
812 820
829 696
697 849
840 803
752 774

我还有第二个文件t1.txt:

752
728
856
693
713
792
812
706
737
751
745

我试图从数据集中按顺序提取第二个文件的相应第 2 列元素。

我用过了:awk -F " " '$1==752 {print $2}' t.txt >> t2.txt

我如何使用 for 循环执行上述指令并将其填充到一个文本文件中,而不是一一执行?

752 的输出将为 694。该 694 应写入不同的文本文件中。对于 812,它应该给我 820。694 和 820 都应该写入同一个文本文件中。它应该解析直到输入文件末尾。

我正在尝试:

for i in `cat t1.txt` | awk -F " "  '$1==$i {print $2}' t.txt >> t2.txt 

这是抛出语法错误。


此问题第三版的答案

$ awk 'FNR==NR{a[$1]=1;next;} $1 in a {print $2;}' t1.txt t.txt
694
820
774

此问题第二版的答案

对于每一行t1.txt,这将检查相同的数字是否出现在第一列中t.txt。如果是,则打印同一行第 2 列中的数字:

$ awk 'FNR==NR{a[$1]=$2;next} $1 in a {print a[$1]}' t.txt t1.txt
694
820

将输出保存在文件中t2.txt, use:

awk 'FNR==NR{a[$1]=$2;next} $1 in a {print a[$1]}' t.txt >t2.txt

怎么运行的

  • FNR==NR{a[$1]=$2;next}

    这通读了t.txt并创建一个数组a它的价值观。

  • $1 in a {print a[$1]}

    对于文件中的每个数字t1.txt,检查该数字是否出现在数组中a如果是,则打印出相应的值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

awk 脚本和 for 循环 的相关文章

  • Bash如何使用awk在空行上分割文件

    我有一个文本文件 A in 我想将其拆分为多个文件 每次发现空行时都应该进行拆分 文件名应该是渐进的 A1 in A2 in I found this https stackoverflow com questions 16483507 s
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • 在每次迭代中使用 for 循环的索引命名图像

    我正在使用 MATLAB 进行图像处理项目 我使用 for 循环在每次循环迭代时生成某种图像数据 图像大小不同 我的问题是如何阻止它在下一次迭代中覆盖图像 Img i j data 理想情况下我希望它有 Img 1 data for 1st
  • 带变量的 AWK 负正则表达式

    我在 bash 脚本中使用 awk 来比较两个文件以获取不匹配的行 我需要将第二个文件的所有三个字段 作为一个模式 与第一个文件的所有行进行比较 第一个文件 chr1 9997 10330 HumanGM18558 peak 1 150 1
  • for 循环和 into_iter() [重复]

    这个问题在这里已经有答案了 据我了解 for循环隐式调用into iter 在向量上循环遍历它 但是 在下面的代码中 为什么vec在 Question1 1 的第一个 for 循环中没有消耗 但在第二个 for 循环中 vec 消耗了 fn
  • 使用 awk 从文件中提取特定行

    我有两个文件 一个文件是我的数据 另一个文件是我想从数据文件中提取的行号列表 我可以使用 awk 读取行文件 然后提取与行号匹配的行吗 例子 数据文件 This is the first line of my data This is th
  • 使用 BASH 和 AWK 创建 HTML 表

    我在创建 html 表来显示文本文件中的统计信息时遇到问题 我确信有 100 种方法可以做得更好 但这里是 以下脚本中的注释显示了输出 bin bash function getapistats curl s http api exampl
  • for 循环范围内的初始值设定项列表

    我有从单个超类型派生的不同类型的对象 我想知道使用中有没有什么缺点std initializer在 for 循环范围内列出 如下所示 for auto object std initializer list object1 object2
  • 中断/退出嵌套在 vb.net 中

    如何摆脱 vb net 中的嵌套 for 或循环 我尝试使用 exit for 但它只跳转或中断了一个 for 循环 我怎样才能做到以下几点 for each item in itemList for each item1 in itemL
  • 我应该使用 AWK 或 SED 删除 CSV 文件中引号之间的逗号吗? (重击)

    我有一堆日常打印机登录CSV格式 我正在编写一个脚本来跟踪使用了多少纸张并将信息保存到数据库中 但我遇到了一个小问题 本质上 日志中的一些文档名称中包含逗号 全部用双引号引起来 并且由于它采用逗号分隔格式 所以我的代码搞乱了并将所有内容推到
  • R:动态创建变量名

    我正在寻找使用 for 循环创建多个数据帧 然后将它们缝合在一起merge 我可以使用创建我的数据框assign paste blah 但是 在同一个 for 循环中 我需要删除每个数据帧的第一列 这是我的代码的相关部分 for j in
  • 使用 for 循环创建链表

    这是我的结构 struct ListItem int data struct ListItem next 假设链表的第一个节点的 data 0 我想编写一个 for 循环来创建大小为 5 的链表 但我不知道如何工作 我尝试了以下方法 int
  • 如何将字符串转换为电话号码

    我一直被这个问题困扰了很长时间 这就是问题 编写一个函数 以字符串作为参数并返回电话号码 对应于该字符串作为结果 电话号码也应该是一个字符串 转换规则是标准单词到电话号码的规则 a b 或 c 映射到 2 d e 或 f 映射到 3 g h
  • 如何 grep 文件中不区分大小写的字符串?

    我有一个文件file1其结尾为Success OR success 我想要grep为了这个词success以一种不区分大小写的方式 我写了以下命令 但它区分大小写 cat file1 grep success 我怎样才能改变它 以便它ret
  • VBA 使用 Like 运算符删除行

    简单的事情并不简单 我试图根据具有以 2L 开头的数据的特定列删除行 所以我写了这段代码 LastRow可以理解 Sub Cleanup For i 1 To LastRow If Range F i Like 2L Then Rows i
  • 如何使用 Bash 编写二进制文件?

    我的问题是我需要创建一个包含以下确切字节的文件 48 00 49 00 我不能使用C perl 其他脚本语言 目标是嵌入式设备 我使用 awk 尝试过 在桌面上它确实有效 awk BEGIN printf c c c c 48 00 49
  • 如何在 Python 中使用 .format() 打印“for”循环中的列表?

    我是 Python 新手 我正在编写一段非常简单的代码 使用 for 循环打印列表的内容 format 我想要如下的输出 但我收到此错误 names David Peter Michael John Bob for i in names p
  • AWK数组初始化

    是否可以使用常见的方法在AWK中初始化数组list syntax array val1 val2 val3 或者是否必须使用索引值 syntax array 0 val1 array 1 val2 array 2 val3 不 不 您可以这
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 循环预定义值

    有没有办法在 oracle 中执行 for every 如下所示 begin for VAR in 1 2 5 loop dbms output put line The value VAR end loop end 我知道你可以这样做 b

随机推荐

  • bash脚本杀死超过一小时的php进程

    我有以下内容 kill 9 ps aux grep php awk 9 0 9 0 9 awk print 2 它的作用是杀死被 fcgid 放弃的进程并杀死它们以释放 RAM 我想每小时运行一次 cron 但想杀死早于一小时的进程 我只是
  • Textmate 到处检查拼写

    有什么方法可以检查我在 Textmate 中输入的所有单词的拼写吗 很难相信 但我实际上使用合法的英语单词来表示我的所有变量和类名 因此未突出显示的拼写错误简直要了我的命 如果有一种方法可以检查带有特殊字符的单词的拼写 那就太好了 uesr
  • 删除 PostgreSQL 中数字列的所有尾随零

    我有这张桌子properties其中有一个列atomic mass类型的NUMERIC 9 6 atomic mass 1 008000 4 002600 6 940000 9 012200 10 810000 12 011000 14 0
  • 如何访问类的静态成员?

    我正在尝试访问类的静态成员 我的班级是 class A public static strName A is my name public function xyz Since I have bunch of classes stored
  • 使用 perl 和 DBI 将非常大的表从一个 DB2 复制到另一个 DB2

    我每天需要将一个非常大 数百万行 的表从一个 DB2 数据库复制到另一个 DB2 数据库 并且我需要使用 perl 和 DBI 有没有比简单地从第一个数据库中获取每一行并将它们逐一插入到第二个数据库中更快的方法 这是我得到的 sth1 ud
  • 谷歌地图,没有启动导航的选项,只有预览

    在我的应用程序中 我在以下代码集的帮助下启动 Google 导航 String uri http maps google com maps saddr gpsLatitude gpsLongitude daddr updateAccepte
  • OSX Yosemite 升级后 adb(android 调试桥)出现问题

    我昨天将我的 2011 款 13 英寸 Macbook 升级到了 Yosemite 现在我在使用 adb 工具 1 0 31 1 0 32 时遇到问题 例如在设备上安装构建时 通过 ddms 复制文件 从eclipse android st
  • jsplumb 1.4.1 通过 uuid 或对象示例删除Endpoint

    我有一些 div 元素 每个元素有 2 个端点 一个在左侧 一个在右侧 现在我想删除每个右侧端点 每个端点都有自己唯一的 uuid 我得到了右侧端点的每个 uuid 的数组 gt 遍历它们并删除其中的每一个 但这不起作用 谁能给我一个通过
  • 使用内收益回报

    如果我没记错的话 当我在里面使用yield时using SqlConnection阻止我遇到运行时异常 using var connection new SqlConnection connectionString var command
  • 如何在 Java Swing 中显示英镑 (£) 符号?

    目前 我向 Java 源代码添加了英镑 符号 并编译生成的 Swing 组件 显示为方形 不支持的字符 符号 我怀疑这是一个编码问题 Java源文件被编码为cp1252 Eclipse似乎默认是这样 解决这个问题的正确方法是什么 使用 u0
  • PHP 命令行不运行 PHP 文件?

    我目前正在从 Windows 命令提示符处触发 PHP 使用 C xampp php gt php f c Uncrypt php 哪个输出 根据帮助文档 这很奇怪php h 的开关 f should f 解析并执行 但是 这不起作用 PH
  • 为什么 d3 更新整个数据

    我有一个 svg 元素 其数据是这样创建的 var chart d3 select my div append svg var chartData chartData push x 1 y 3 x 2 y 5 chartData push
  • split() 操作后获取 pandas 中唯一的字符串列表

    我正在开始使用熊猫 并且已经较大 DataFrame 中的一列数据例如 0 one two 1 two seven six 2 three one five 3 seven five five eight 4 six four 5 thre
  • 如何在 Windows git-bash 终端上获得彩色输出?

    如何在输出上获得彩色突出显示 e g npm start npm test etc System Windows 10Git 版本 2 16 1 windows 4节点5 6 0 卸载适用于 Windows 10 的 Git Bash 并再
  • 如何将 MultiAutoCompleteTextView 中的结果设置为来自网络源而不是静态或数据库结果?

    我有一个带有 MultiAutoCompleteTextView 的应用程序 我需要将结果设置为来自 Web 源 JSON XML 或任何格式 我该如何执行该操作 或者更清楚地了解当我创建自己的自定义适配器时需要更改什么自动完成 好吧 我在
  • 列表结果集

    我想将 JSP 页面中的结果集转换为列表 并想要显示所有值 这是我的查询 SELECT userId userName FROM user 我已经使用它执行了准备好的声明并得到了结果集 但如何将其转换为List并想像这样显示结果 userI
  • 我可以使用 CDN 中的 ES 模块库吗?

    我想通过 CDN 使用这个库 https www jsdelivr com package npm lit element https www jsdelivr com package npm lit element 我的js代码在这里 i
  • 我自己的 Angular Material ui 风格

    Material ui 我想定制它 不幸的是 我自己的样式被框架样式覆盖了 例如 当我声明 md toolbar 的样式时 md toolbar background red 该声明被材料覆盖 我添加了 important指令它有帮助 但我
  • conda env 在幕后做了什么?

    搜索后没有找到 我必须在这里问 如何conda env在幕后工作 这意味着 anaconda 如何处理环境 为了澄清 我想要一个答案或参考以下问题 里面保存的是什么envs myenv folder 发生了什么activate myenv
  • awk 脚本和 for 循环

    我有一个数据集t txt 827 819 830 826 828 752 752 694 828 728 821 701 724 708 826 842 719 713 764 783 812 820 829 696 697 849 840