How to print the output side by side?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to print the output side by side?
# 1  
Old 09-05-2018
How to print the output side by side?

Hello,
I know it is too simple but I do not know..
:/

Code:
#!/bin/bash
for file in *.mp4
do
echo "$file"
ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4 | sed s/,//
done

Expected Output:
Code:
NF_-_Let_You_Down-fbHbTBP_u7U.mp4	00:03:35.74
NF_-_WHY-zuJV-DAv_wE.mp4	00:03:11.87
Nicki_Minaj_-_Chun-Li-Wpm07-BGJnE.mp4	00:05:09.41
Nicki_Minaj_-_Chun-Li_Vertical_Video-SCq8n_hOcN8.mp4	00:03:21.67
Post_Malone_-_Psycho_ft._Ty_Dolla_ign-au2n7VVGv_c.mp4	00:03:56.64


It gives:
Code:
NF_-_Let_You_Down-fbHbTBP_u7U.mp4
00:03:35.74
NF_-_WHY-zuJV-DAv_wE.mp4
00:03:11.87
Nicki_Minaj_-_Chun-Li-Wpm07-BGJnE.mp4
00:05:09.41
Nicki_Minaj_-_Chun-Li_Vertical_Video-SCq8n_hOcN8.mp4
00:03:21.67
Post_Malone_-_Psycho_ft._Ty_Dolla_ign-au2n7VVGv_c.mp4
00:03:56.64

I'd like to do it without transposition or convertion row to column etc.


Many thanks
Boris
# 2  
Old 09-05-2018
sample output of ffmpeg -i $file 2>&1 please.
# 3  
Old 09-05-2018
Here you are:

Code:
ffmpeg version N-91591-g1581caa Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.4)
  configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=\
--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=\
-L/root/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/root/bin --\
enable-gpl --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --\
enable-libopus --enable-libvorbis --enable-openssl --enable-libvpx \
--enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 22.101 / 58. 22.101
  libavformat    58. 17.101 / 58. 17.101
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 26.100 /  7. 26.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'YG_-_Big_Bank_Audio_ft._2_Chainz_Big_Sean_Nicki_Minaj-scLYjsvrUMk.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.17.101
  Duration: 00:03:59.38, start: 0.000000, bitrate: 203 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 71 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

# 4  
Old 09-05-2018
Code:
ffmpeg -i $file 2>&1 | awk -F'[ ,]' -v f="${file}" '/Duration/ {print f, $4}'

and remove echo "$file" from inside the loop.
This User Gave Thanks to vgersh99 For This Post:
# 5  
Old 09-05-2018
Quote:
Originally Posted by baris35
Hello,
I know it is too simple but I do not know..
:/

Code:
#!/bin/bash
for file in *.mp4
do
echo "$file"
ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4 | sed s/,//
done

Expected Output:
Code:
NF_-_Let_You_Down-fbHbTBP_u7U.mp4	00:03:35.74
NF_-_WHY-zuJV-DAv_wE.mp4	00:03:11.87
Nicki_Minaj_-_Chun-Li-Wpm07-BGJnE.mp4	00:05:09.41
Nicki_Minaj_-_Chun-Li_Vertical_Video-SCq8n_hOcN8.mp4	00:03:21.67
Post_Malone_-_Psycho_ft._Ty_Dolla_ign-au2n7VVGv_c.mp4	00:03:56.64


It gives:
Code:
NF_-_Let_You_Down-fbHbTBP_u7U.mp4
00:03:35.74
NF_-_WHY-zuJV-DAv_wE.mp4
00:03:11.87
Nicki_Minaj_-_Chun-Li-Wpm07-BGJnE.mp4
00:05:09.41
Nicki_Minaj_-_Chun-Li_Vertical_Video-SCq8n_hOcN8.mp4
00:03:21.67
Post_Malone_-_Psycho_ft._Ty_Dolla_ign-au2n7VVGv_c.mp4
00:03:56.64

I'd like to do it without transposition or convertion row to column etc.


Many thanks
Boris
The issue of the unwanted format is echo "$file". The echo has an implicit appended newline.

Here's a fix without much change to your code
Code:
duration=$(ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4 | sed s/,//)
echo "$file $duration"

Another would be to use printf
Code:
printf "%s " $file
ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4 | sed s/,//

I like not to choose heavier utilities like awk or sed that could do the whole work without any external help if I have committed to use a filtering technique.

Code:
duration=$(ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4)
printf "%s %s\n" $file ${duration%,}


Last edited by Aia; 09-05-2018 at 11:45 AM.. Reason: fix grammar
This User Gave Thanks to Aia For This Post:
# 6  
Old 09-05-2018
Hello Vgersh,
it works as expected.
Thank you so much.

Dear Aia,
I liked below one:
Code:
duration=$(ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4 | sed s/,//)
echo "$file $duration"

Thank you both

Kind regards
Boris
# 7  
Old 09-05-2018
Quote:
Originally Posted by baris35
[...]

I liked below one:
Code:
duration=$(ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4 | sed s/,//)
echo "$file $duration"

[...]
OK, then we can do better in removing the extraneous comma
Code:
duration=$(ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4)
echo "$file ${duration%,}"

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to run 2 python scripts at the same time side by side on the same line?

Could I run 2 python scripts at the same time side by side output on the same line in this same format but with scripts? from itertools import izip_longest with open("file1") as textfile1, open("file2") as textfile2: for x, y in izip_longest(textfile1, textfile2, fillvalue=""): x =... (4 Replies)
Discussion started by: bigvito19
4 Replies

2. Shell Programming and Scripting

Print side by side

Dear all, How can I print any variable or string value side by side for each line within a loop? For example I have 300 zeros and I want to get an output like below lines. Each line have to be truncated at the end of the lines ( eg. 80 characters). 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0... (4 Replies)
Discussion started by: bulpak
4 Replies

3. Shell Programming and Scripting

Output variable side by side

how do you display variable that contain multi line side by side dynamically without knowing the number of variable and line for each variable ? Example echo $a a b c echo $b 1 2 3 echo $c q w e how to output the result in (3 Replies)
Discussion started by: pikamon
3 Replies

4. Shell Programming and Scripting

How to print contents side by side of a file ?

Hi Team, I have input like Input file.txt Contents: Total: 939720704 bytes Total: 521142272 bytes Total: 262144 bytes Total: 786432 bytes Total: 9043968 bytes Total: 9371648 bytes I need out put like the content of file should be side by side.that is 1st line beside... (3 Replies)
Discussion started by: rocking77
3 Replies

5. Shell Programming and Scripting

printing 3 files side by side based on similar values in rows

Hi I'm trying to compare 3 or more files based on similar values and outputting them into 3 columns. For example: file1 ABC DEF GHI file2 DEF DER file3 ABC DER The output should come out like this file1 file2 file3 ABC ABC (4 Replies)
Discussion started by: zerofire123
4 Replies

6. Shell Programming and Scripting

Paste two file side by side together based on specific pattern match problem

Input file_1: P78811 P40108 O17861 Q6NTW1 P40986 Q6PBK1 P38264 Q6PBK1 Q9CZ49 Q1GZI0 Input file_2: (6 Replies)
Discussion started by: patrick87
6 Replies

7. Web Development

Cannot access Apache web server from Wan side, only Lan side.

I have installed WAMPSERVER 2.0 on my windows vista x64 system but still am having issues with getting the webserver to be seen outside my local network. It is working fine within my local network. Been through several setup tutorials so far, no dice still. For testing purposes I have... (1 Reply)
Discussion started by: davidmanvell
1 Replies

8. Shell Programming and Scripting

How to Merge / combine / join / paste 2 text files side-by-side

I have 2 text files, both have one simple, single column. The 2 files might be the same length, or might not, and if not, it's unknown which one would be longer. For this example, file1 is longer: ---file1 Joe Bob Mary Sally Fred Elmer David ---file2 Tomato House Car... (3 Replies)
Discussion started by: cajunfries
3 Replies

9. Shell Programming and Scripting

Script to place selected columns from a group of files side by side in a new file

Hi Everyone, I need a shell/perl script to bring selected columns from all the files located in a directory and place them in a new file side by side. File1: a b c d 2 3 4 5 f g h i .......... File2: I II III IV w x y z .............. and so on many files are there...... (8 Replies)
Discussion started by: ks_reddy
8 Replies

10. Shell Programming and Scripting

How to print two sql query outputs side by side in excel

Hi, I have to sql queries like select sno,sname from temptable; select deptno,dname from depttable; In excel i want to specify the column number to which my output should be displayed. please help me in this... thanks in advance... (6 Replies)
Discussion started by: prasee
6 Replies
Login or Register to Ask a Question