2013-07-30 13 views
3

我想用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. 我只想查看文件名和文件類型。

這樣的:

File Name      : Titanic.Avi 
File Type      : AVI 

我有一個目錄的電影,以及含空穴的目錄,每個目錄下有一個電影,我想從中提取

例如那些信息:

Movies\Titanic\Titanic.avi 
Movies\The Call\The Call.avi 
. 
. 
Movies\Pawn\Pawn.mkv 
  1. 我需要EXI循環ftool和| 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 
+1

考慮使用命令行工具來主動查詢你想要的特定信息,而不是用grep:http://linux.die.net/man/1/exiftool – sehe

回答

2

只是

function identify() 
{ 
    for fname in "[email protected]" 
    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 
+2

我愛你.. :) –

+0

謝謝不知道 – suspectus

0

看一看的MediaInfo,您可以直接用它來獲取特定的元數據

mediainfo --Inform='General;%CompleteName% - %Format%' Du.Plo*  

=> Du.Plomb.Dans.La.Tete.2012.VOSTFR.REPACK.720p.BluRay.x264-Felony.mkv - Matroska