当前位置: 首页 > 面试题库 >

在文本文件中获取第n列

魏臻
2023-03-14
问题内容

我有一个文本文件:

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


 类似资料:
  • 问题内容: 鉴于我知道路径名和行号,因此我尝试提取文件的单行,理想情况下,我希望这样做是在 不读取任何多余文件的情况下进行的 。 出于我在这里使用的目的,这是异步还是同步都没有关系。 我当前的(不良)实现如下所示: 我尝试使用createReadStream进行操作,但是数据事件似乎从未触发。谁能提供直接解决此问题的方法,或者向我指出一些NodeJS文件系统交互文档,该文档比标准库API文档驱动的

  • 问题内容: 是否有一种简单的方法可以从UILabel中的给定行中获取(或简单地显示)文本? 我的UILabel正确显示了我的文本并将其布置得很漂亮,但偶尔我需要能够仅显示某些行,但是显然我需要知道UILabel如何放置所有东西来做到这一点。 我知道可以使用子字符串轻松完成此操作,但是我需要知道该行的起点和终点。 或者,如果UILabel的框架存在某种偏移,则可以滚动UILabel,并隐藏我不想看到

  • 我创建了一个OpenNotepad.bat文件,其中包含文本说明并将其保存到我的桌面。我创建了一个Java类。我必须在cmd中键入什么才能从. bat文件中获取该文本? 我是否应该使用特定的命令来获取命令提示符以显示该文本? 这是我的Java代码: 我对此一无所知。我参考了本教程:使用运行时类从Java代码执行批处理文件

  • 问题内容: 我正在尝试读取资源(asdf.txt),但是如果文件大于5000字节,例如,在content变量的末尾插入了4700个空字符。有什么办法可以删除它们?(或设置缓冲区的正确大小?) 这是代码: 问题答案: 最简单的方法是做正确的事情:使用阅读器读取文本数据: 并非 一定 要定义要读取的文本文件的编码。在上面的示例中,它将是THE_ENCODING。 请注意,您的代码和本示例代码在Java

  • 问题内容: 我在JScrollPane中有一个JeditorPane。在应用程序中的某些点,我想检索在scrollPane中可见的文本(当前正在显示的文本)以及仅此文本。有没有办法做到这一点? 谢谢, 艾略特 问题答案: 您可以使用视口来获取视图的位置和大小。 一旦知道了视口的起点/终点,就可以使用: 一旦知道了文本的偏移量,就可以从组件中获取文本: 没有代码经过测试。

  • 我试图从服务器的文本文件中获取字符串,并将其显示在列表视图中。我通过重写方法onreferesh()从pull调用getTextListFromUrl()。但我被困在某个地方。这是我的密码 这是我在日志中得到的错误 谁能告诉我这到底出了什么问题?