gpt4 book ai didi

linux - 在 Bash 中按数字文件名排序的文本文件

转载 作者:可可西里 更新时间:2023-11-01 11:48:46 40 4
gpt4 key购买 nike

有没有办法用一个 bash 命令按文件名的数字顺序连接多个文本文件?

我试过了,但是不知为什么,前三行顺序不对

sort -n *txt > all.txt

最佳答案

添加这个答案,只是因为 currently accepted answer建议 a bad practice . & 将来,Hellmar 可能会遇到完全相同的问题 I faced once. : Cannot delete an accepted answer.

无论如何,这应该是安全的答案:

printf "%s\0" *txt | sort -zn | xargs -0 cat > all.txt

此处,整个管道的文件名由 NULL 字符分隔。 NULL 字符是唯一不能作为文件名一部分的字符。

此外,如果所有文件名都具有相同的结构(比如 file0001.txt、file0002.txt 等),那么这段代码应该同样有效:

cat file[0-9][0-9][0-9][0-9].txt > all.txt

关于linux - 在 Bash 中按数字文件名排序的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35126745/

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