gpt4 book ai didi

linux - 连接以时间戳命名的数据文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:50:08 24 4
gpt4 key购买 nike

在一个目录中,我有一系列文件名附加了时间戳的数据文件,例如 file-13-57-38-876.txtfile-13- 57-59-288.txtfile-13-58-19-700.txt 等,其中时间以小时-分钟-秒-毫秒的形式列出。每个文件的格式基本如下:

Some preamble text
that takes up a few lines
0.000 1.000
0.200 0.900
0.400 0.800
0.600 0.700
0.800 0.600
1.000 0.500

每个文件都包含相同 x 坐标的点,所以我想将所有文件中的数据(可能使用 join)连接到一个文件 alldata.txt 包含许多列,每个文件按顺序列一列。使用 sed -i '/^[0-9]/!d' *.txt 剥离所有非数字数据应该很简单,但我不确定最简单的方法是通过这些文件,由于名称中时间戳的不规则性,一路将它们连接在一起。有没有一种方法可以根据它们在目录中的“字母顺序”外观将这些文件逐一传递给 join

最佳答案

如果输入文件像您所说的那样规则 - 相同顺序的相同 x 坐标 - 您可以尝试一些 bash 进程替换和脚本重新调用:

#!/bin/bashprocess() { exec sed -n '/^[0-9]/p' "$1"; }[ $# -eq 0 ] && exit[ $# -eq 1 ] && { process "$1"; exit; }fn="$1"; shiftjoin <(process "$fn") <("$0" "$@")

If the above is saved as "join_em.sh", see how:

./join_em.sh file-*.txt

为你工作。

如果您要处理成百上千个输入文件,请多加注意。

关于linux - 连接以时间戳命名的数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31329028/

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