如何使用|获得多个信息 grep的?

我想用grep提取多个信息。 例:

当使用exiftool ,我得到了所有这些信息,以及更多:

$exiftool Titanic.Avi ExifTool Version Number : 8.60 File Name : Titanic.Avi Directory : . File Size : 702 MB File Modification Date/Time : 2013:07:28 22:36:46+02:00 File Permissions : rw-rw-r-- File Type : AVI 
  1. 我只想查看文件名和文件types。

喜欢这个:

 File Name : Titanic.Avi File Type : AVI 

我有一个目录电影,并包含一个洞目录,在每个目录中有一个电影,我想从中提取这些信息

例:

 Movies\Titanic\Titanic.avi Movies\The Call\The Call.avi . . Movies\Pawn\Pawn.mkv 
  1. 我需要一个exiftool和|的循环 grep来获取这样的信息:

Titanic.avi

 File Name : Titanic.Avi File Type : AVI 

Call.avi

  File Name : The Call.Avi File Type : AVI 

Pawn.mkv

  File Name : Pawn.Avi File Type : MKV 

只是

 function identify() { for fname in "$@" do while read line do echo "$fname $line" done < <(exiftool "$1"|egrep 'File Type|File Name') done } 

现在你可以

 identify *.mkv *.avi 

(笔记未经测试:我没有这些工具或任何示例文件可用)更新。 刚做了一个虚拟帮手测试

 function exiftool() { echo File Type 5; echo 42 File Name; } identify * 

如果你想要在一行上的文件的所有信息,你可以添加xargs

 exiftool "$1"|egrep 'File Type|File Name' | xargs 

看看mediainfo,你可以直接使用它来获取特定的元数据。

 mediainfo --Inform='General;%CompleteName% - %Format%' Du.Plo* => Du.Plomb.Dans.La.Tete.2012.VOSTFR.REPACK.720p.BluRay.x264-Felony.mkv - Matroska