获取文本文件中的第 n 列

2023-12-05

我有一个文本文件:

1 Q0 1657 1 19.6117 Exp
1 Q0 1410 2 18.8302 Exp
2 Q0 3078 1 18.6695 Exp
2 Q0 2434 2 14.0508 Exp
2 Q0 3129 3 13.5495 Exp

我想像这样获取每行的第二个和第四个单词:

1657 19.6117
1410 18.8302
3078 18.6695
2434 14.0508
3129 13.5495

我正在使用这段代码:

 nol=$(cat "/path/of/my/text" | wc -l)
 x=1
 while  [ $x -le "$nol" ]
 do
     line=($(sed -n "$x"p /path/of/my/text)
     echo ""${line[1]}" "${line[3]}""  >> out.txt
     x=$(( $x + 1 ))
 done

它可以工作,但是非常复杂并且需要很长时间才能处理长文本文件。

有没有更简单的方法来做到这一点?


iirc :

cat filename.txt | awk '{ print $2 $4 }'

或者,正如评论中提到的:

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

获取文本文件中的第 n 列 的相关文章

  • Linux CFS 调度程序代码在哪里?

    我有3 13版本的完整linux源代码 我试图找到 CFS 调度程序的源代码 根据流行书籍 它应该驻留在 kernel sched c 中作为基本调度程序代码 而 kernel sched fair c 专门针对 CFS 代码 我刚刚在 3
  • 从多个进程附加到单个文件的“线程安全”?

    假设我有 X 个进程打开文件 Y 进行追加 每个进程一次只写入一行 带有 n 真正的日志条目 文件 Y 中的每一行是否保证不会错误地交错 更新 本地附加文件系统 问题取决于正在进行什么类型的写入 如果您使用带缓冲的标准 I O 这通常是大多
  • rusage 进程/线程的 Cpu 时间不可能

    我正在计算进程 线程正在使用的 cpu 时间之间的增量 以及某个函数的调用之间的增量 我得到了进程 cpu 时间不可能的值 有时下一次调用会返回较小的 cpu 时间 这是不可能的 这是我用来计算CPU时间的代码 u64 CpuTime ca
  • 为什么 **sort** 不在每台机器上进行相同的排序?

    使用相同的sort具有相同输入的命令在不同的机器上产生不同的结果 我该如何解决这个问题 The man page http developer apple com documentation Darwin Reference ManPage
  • 递归触摸修复计算机之间的同步[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 由于我的错误 我正在寻找一种从命令行触摸目录 和子目录 中的每个文件的方法 我的同步存储库在我的开发机器上有点不同步 我现在已经通过一些令人不快的巫术
  • SDL - 窗口不显示任何内容

    我正在执行 SDL C 的第一步 并从 www sdl org 上学习了一些教程 但有一个问题 我已经在我的 Linux Mint 系统上安装了 SDL2 编译了教程代码 ifdef cplusplus include
  • 如何在bash中使用kill SIGUSR2?

    我在linux中使用iptraf来监控网络流量 shell命令是 让iptraf在后台运行 iptraf s eth0 f B L traffic dat 如果我想得到结果 我必须先停止 iptraf 所以我使用 shell 命令 kill
  • 使用 tac 和 sed 反转文件

    我有一个用例 我需要搜索并替换文件中最后一次出现的字符串并将更改写回文件 下面的案例是该用例的简化版本 我正在尝试反转该文件 进行一些更改 再次将其反转并写入该文件 我为此尝试了以下代码片段 tac test sed s a b sed i
  • SO_REUSEPORT 可以在 Unix 域套接字上使用吗?

    Linux 内核 gt 3 9 允许通过设置在内核负载平衡的进程之间共享套接字SO REUSEPORT http lwn net Articles 542629 http lwn net Articles 542629 这如何用于类型的套接
  • 在 execl 在输出中不可见之前打印

    include
  • 如何 grep 文件中不区分大小写的字符串?

    我有一个文件file1其结尾为Success OR success 我想要grep为了这个词success以一种不区分大小写的方式 我写了以下命令 但它区分大小写 cat file1 grep success 我怎样才能改变它 以便它ret
  • 在 MacOS 上重新启动终端而不关闭

    如何在不关闭窗口的情况下重新启动当前的 MacOS 终端会话 在Linux中我使用exec bash但在这种环境下它不起作用 我对 bash profile 提示 别名等 我想在不关闭它并再次打开的情况下查看 只需输入命令 exec bas
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • 如何从脚本编辑 /etc/sudoers?

    我需要编辑 etc sudoers从脚本中添加 删除白名单中的内容 假设我有一个可以处理普通文件的命令 我如何将其应用到 etc sudoers 我可以复制并修改它 然后有visudo用修改后的副本替换原始版本 通过提供我自己的脚本 EDI
  • 段错误...关于你好世界

    这段代码非常简单 但我在 x86 64 Linux 系统上遇到了段错误 这让我很烦恼 刚开始接触asm 请耐心等待 与 NASM 组装nasm f elf64 test asm 与连接ld o test test o SECTION tex
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • 我想在 Red Hat Linux 服务器中执行 .ps1 powershell 脚本

    我有一个在窗口中执行的 ps1 powershell 脚本 但我的整个数据都在 Linux 服务器中 有什么可能的方法可以让我在红帽服务器中执行 powershell 脚本 powershell脚本是 Clear Host path D D
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • Cron 不会导入 pandas 模块来执行 python 脚本。 ```导入错误:没有名为 pandas 的模块```

    我使用的是xubuntu 18 01 我有一个 python 程序 可以抓取天气数据并将文件保存为 csv 运行命令完美运行weatherdata在我授予它许可后 在终端中使用chmod x weatherdata 我希望使用 cron 每

随机推荐