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)
在zsh
shell 中,您还可以使用(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
文本中的自然排序(版本)编号。