加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用bash shell脚本按数字顺序逐个附加csv文件

发布时间:2020-12-15 20:57:05 所属栏目:安全 来源:网络整理
导读:给定名为1.csv,2.csv,3.csv,… 89.csv … n.csv的文件 如何在bash shell脚本中以数字顺序(1到n)将它们一起追加? 这个解决方案有一个单线程吗? 解决方法 如果您的文件以前导零命名,则会更容易,即 cat [0-9].csv [0-9][0-9].csv .... new.csv 但是给出真正的
给定名为1.csv,2.csv,3.csv,… 89.csv … n.csv的文件
如何在bash shell脚本中以数字顺序(1到n)将它们一起追加?
这个解决方案有一个单线程吗?

解决方法

如果您的文件以前导零命名,则会更容易,即

cat [0-9].csv [0-9][0-9].csv .... > new.csv

但是给出真正的数字顺序并不难

ls -1
1
10
11
12
13
2
20
21
3
7
8
9

(在两个样本中,请注意ls的选项是第一个,(1),而不是字母L(l))

ls -1 [0-9]* | sort -n
1
2
3
7
8
9
10
11
12
13
20
21

然后

cat $( ls -1 *.csv | sort -n  ) > new.csv

假设您的所有csv文件都已编号.

如果您有超过1000个文件,shell中的文件arg处理可能会中断,您应该发布一个新问题以正确使用xargs.

要查看发生了什么,请添加shell调试/跟踪使用

set -vx  # to turn on
 set +vx  # to turn it off

.

IHTH.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读