I have a bash script with a while loop that takes a long time to process. It restores file modification times for complicated reasons not worth discussing here. Removing some nonessential stuff, I have the following code (I know it could be rewritten to be elegant, or at least collapsed into a single line):
`` cat ./preserve_file_mod_times | while read x do filename=`echo $x|sed 's/|.*//g'` lastmod=`echo $x|sed 's/^.*|//g'` touch -t "$lastmod" "$filename" done ``
As the input file has gotten longer, the loop now frequently fails:
376 Profiling timer expired touch -t "$lastmod" "$filename"
I’ve googled this error and understand what it is (i.e. SIGPROF) but not how to fix or workaround it. Any hints?