Sponsored Content
Top Forums Shell Programming and Scripting Function to get the duration of all videos in a folder(s) Post 303016236 by zouhair on Monday 23rd of April 2018 05:07:20 AM
Old 04-23-2018
Quote:
Originally Posted by MadeInGermany
The classic approach is slow (run exiftool for each file) but safe:
Code:
total_folder_length=$(
  find . -maxdepth 1 \( -iname '*.mkv' -o -iname '*.mp4' -o -iname '*.avi' \) |
  while IFS= read -r fname 
  do
    exiftool -n -q -p '$Duration#' "$fname"
  done |
  awk '{sum+=$0} END {print sum+0}'
)


Much cleaner but as you said it is very slow when I run it on folders with more than 100 video files.

Thanks

---------- Post updated at 05:07 ---------- Previous update was at 04:47 ----------

Quote:
Originally Posted by RudiC
That is quite confusing a script. And, what does "get a bit borked" mean? Incorrect? Slow? Crashes?

A few comments:
- you don't need an echo "command substitution" for a variable assignment in general.
- the repeated varn=$(echo ... | awk ... ) could be replaced by a read var1 ... varn <<< ... in what seems to be your bash version (which you, alas, don't mention)
- don't run exiftool with an empty array if the result is crooked, test the array upfront.
- your presumed bash version offers extended pattern matching of pattern-lists when the extglob option is set, mayhap eliminating the need for the find command.
- your presumed bash version offers the %()T format specifier:
Code:
printf "%(%T)T\n" 78682
22:51:22

Yup confusing is an euphemism, welcome to my brain, I have to deal with it on a daily basis.

Thanks for the pointers, I still need to learn more about the "best way" to do things.

And yes this function is used under BASH 4.4.13

Could you elaborate on read var1 ... varn <<< ...

Thanks a lot
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

duration calculation

I have a file which has 3 coloumns emp_name, Joining_date, Designation. abc 12/1/2001 SSE def 2/25/2007 SE ghi 3/18/2009 SA abc 8/1/2008 SSE def 2/13/2007 SE ghi 3/24/2005 SA I need to find out the emp who has been in the company for longest period(Till date). Can I have any... (3 Replies)
Discussion started by: siba.s.nayak
3 Replies

2. Solaris

ufsdump backup duration

hi, i'm trying to figure out how to tell the amount of time a ufsdump of a directory takes. i use the below command: echo "Starting Backup of u4" >> /backup/backup.log 2>&1 /usr/sbin/ufsdump 0uf /dev/rmt/0n /u4 >> /backup/backup.log 2>&1 echo "Finished Backup of u4" >> /backup/backup.log... (0 Replies)
Discussion started by: pinoy43v3r
0 Replies

3. Shell Programming and Scripting

Get password protected URL folder using PHP fopen function

Hi everybody, Please some help over here, I`m pretty new in PHP. I have a cronrefresh php file within a website, I need this script get infornation from a URL of the site. Part of the script where $URL variable appears is: $fdURL = mysql_query("SELECT * FROM affiliSt_config WHERE name... (2 Replies)
Discussion started by: cgkmal
2 Replies

4. UNIX for Dummies Questions & Answers

Copy duration of cp

Hello forum, i would like to ask if there's a way to view the remaining time of copying files (talking about copying gigabytes) while the cp commnad is running. I'm using OpenBSD 4.9 -stable. Thanx in advance. :) (2 Replies)
Discussion started by: sepuku
2 Replies

5. Shell Programming and Scripting

Convert duration of the process to seconds

Hi, I am looking to write a script to kill the process which are running for more than 7 days. So i have a command like "ps -eo pid,etime,args | grep -i xxxx" ( process which has xxx in it and running for more than 7 days needs to be killed ). When i exeucte the above command , i am... (2 Replies)
Discussion started by: forums123456
2 Replies

6. UNIX Desktop Questions & Answers

arecord not interrupted after specified duration

I have used the arecord command like this arecord -d 1 test.wav It is keep on waiting. I need to manually interrupt it by ctrl-c. Why it is not interrupting after one second? The arecord version which I am using is : arecord: version 1.0.23 by Jaroslav Kysela (3 Replies)
Discussion started by: thillai_selvan
3 Replies

7. Shell Programming and Scripting

Sort by Duration

.......................................................................................................................... 03:40 Geonetric File from CCL Complete 03:40:59 03:41:08 00:00:09 00:00:01 N/A 005 sys_runccl ... (7 Replies)
Discussion started by: Daniel Gate
7 Replies

8. UNIX for Beginners Questions & Answers

Process duration

Hi , How can I check that for a single process, for example pagent for how much duration this process was up or down and also I need multiple entries if this process was down or up multiple times. Please help. (3 Replies)
Discussion started by: Ashish Garg
3 Replies

9. Shell Programming and Scripting

Duration Calculation

I have 2 variables startTime='122717 23:20' endTime='122817 0:40' how can i get the elapsed duration as like "1 hour 20 minutes" ? (8 Replies)
Discussion started by: vikram3.r
8 Replies
All times are GMT -4. The time now is 06:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy