I need to list all the files in a directory like:

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

for that I am using

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

But in that directory there are 2000 files and I need to list first 100 in one line then next 100 in next line and so on.

Also, Before each line I need to add a line "hadd result.root"

有帮助吗?

解决方案

try this:

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

其他提示

Use printf instead of print to prevent automatically adding newlines. Then declare a counter variable in the BEGIN{ } section, increment it for every file and if that (counter % 100) == 0 print a newline and/or the per-line requisite.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top