sod*_*ate 15 files cat text-formatting
我有名为file.88_0.pdb, file.88_1.pdb, ..., 的文件file.88_100.pdb。我想要cat它们,以便file.88_1.pdb在file.88_0.pdb、file.88_2.pdb之后 等之后粘贴file.88_1.pdb。如果我这样做cat file.88_*.pdb > all.pdb,文件将按以下顺序放在一起:0 1 10 11 12 13 14 15 16 17 18 19 2 20...等。如何将它们放在一起以便顺序是0 1 2 3 4 5 6...?
αғs*_*нιη 28
cat file.88_{0..100}.pdb >>bigfile.pdb
Run Code Online (Sandbox Code Playgroud)
要忽略打印不存在文件的错误消息,请使用:
cat file.88_{0..100}.pdb >>bigfile.pdb 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
在zshshell 中,您还可以使用(n)globbing 限定符来请求对glob 进行数字排序(与默认的字母顺序相反):
cat file.88_*.pdb(n) >>bigfile.pdb 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
小智 6
在没有大括号扩展的 shell 中,您可以使用ls+ xargs:
ls -v file.88_*.pdb | xargs cat > all.pdb
Run Code Online (Sandbox Code Playgroud)
ls 将按数字顺序对文件进行排序:
-v 文本中的自然排序(版本)编号。