2014-04-10 19 views
1

我需要列出像一个目录中的所有文件:上市目录中的

/home/rk/a.root /home/rk/b.root /home/rk/c.root 

对我使用

$ls | gawk 'BEGIN{ORS=" "}{print "/home/rk/"$1}' 

但在该目录中有2000个文件,我需要在一行中列出第一个100,然后在下一行中列出下一个100,依此类推。

而且,每一行之前,我需要添加一行“哈德result.root”

+3

[永不解析ls的输出](http://mywiki.wooledge.org/ParsingLs)将每个文件放在一个awk数组中,然后将一个模数计数器与printf –

回答

3

试试这个:的

find /home/rk -type f |xargs -n100 
1

使用printf代替print自动防止增加新行。然后在BEGIN{ }部分中声明一个计数器变量,为每个文件增加一个计数器变量,如果(计数器%100)== 0打印换行符和/或每行必需项。