有没有办法用一个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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。