Question

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"

Was it helpful?

Solution

try this:

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top