Linux
如何連接目錄中的前 100 個文件?
我在一個目錄中有 4000 個具有唯一文件名的文本文件。
是否有任何Linux 命令可以僅連接 1-100 個文件。
cat 1.txt ... 100.txt > 1.100.txt cat 101.txt ... 200.txt > 2.200.txt ....... ....... cat 3901.txt ... 4000.txt > 40.4000.txt
請提出建議。
您
head
只能選擇 100 個文件。例如:
cat $(ls -1 --sort=time | head -n 100) > 1.100.txt
(您可以將其更改
--sort
為其他內容或將其刪除以按名稱排序)如果文件名中可能出現空格或換行符,則不能使用
ls
但find -print0
安全(使用 null 作為分隔符):find . -type f -print0 | head -z -n 100 | xargs -0 cat > 1.100.txt
與
zsh
:files=( *(N.n) ) i=0 while (( $#files )) { () {cat -- $@ > $((++i)).$@[-1]} $files[1,100] files[1,100]=() }
n
glob 限定符按數字對文件名進行排序,您可以按從最舊到最新的修改時間將其更改為Om
rder 。O``m