计算化学公社

标题: 【shell】语言输出文件如何分列? [打印本页]

作者
Author:
知黑守白    时间: 2021-6-3 14:56
标题: 【shell】语言输出文件如何分列?
如题,最近需要简单使用linux系统自带支持的一些语言处理文件,包括 *.csh 和 *.perl等等


通过以下 cat 和 awk 可以实现把文件中的前两列提取到一个文件中:
     cat result.dat | awk '{print$1,$2}' > pmf.dat


但是我需要处理一批 *.dat文件,我希望把每个文件的前两列都能以列的形式添加到整合文件中去


我百度了挺久,类似 “如何换列” “分列符”,都没有查到要如何操作


所以特此请教大佬们指点一二,万分感谢!!

作者
Author:
lyj714    时间: 2021-6-3 15:06
本帖最后由 lyj714 于 2021-6-3 15:09 编辑

按照你的写法分别对每个文件得到一个pmf*.dat,然后用paste命令进行文件列合并(ps: 此方法非最简洁的,但对于你够用)
作者
Author:
知黑守白    时间: 2021-6-3 15:13
lyj714 发表于 2021-6-3 15:06
按照你的写法分别对每个文件得到一个pmf*.dat,然后用paste命令进行文件列合并(ps: 此方法非最简洁的,但对 ...

感谢您的解答!

您是指得到不同的【dat】文件然后手动复制粘贴吗?

我一次大概处理四五十文件,每个文件2~3W行,手动粘贴复制电脑吃不消。。。。
作者
Author:
hebrewsnabla    时间: 2021-6-3 15:23
搜索“按列合并文件”
作者
Author:
lyj714    时间: 2021-6-3 15:24
知黑守白 发表于 2021-6-3 15:13
感谢您的解答!

您是指得到不同的【dat】文件然后手动复制粘贴吗?

paste是shell下的一个命令。
作者
Author:
abin    时间: 2021-6-3 15:29
awk
paste组合就搞定了。

哪里需要“手动粘贴”。

不存在的网站上, 搜索play with data, linux
会有一堆技巧可以使用。

作者
Author:
知黑守白    时间: 2021-6-3 16:23
hebrewsnabla 发表于 2021-6-3 15:23
搜索“按列合并文件”

感谢!!
作者
Author:
知黑守白    时间: 2021-6-3 16:24
lyj714 发表于 2021-6-3 15:24
paste是shell下的一个命令。

感谢您!!!解决了
作者
Author:
知黑守白    时间: 2021-6-3 16:24
abin 发表于 2021-6-3 15:29
awk
paste组合就搞定了。

感谢您!!!我去搜搜看




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3