3

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. exiftoolと |を使用したループが必要です。次のような情報を取得するには、grep を使用します。

タイタニック.avi

File Name                       : Titanic.Avi
File Type                       : AVI

The Call.avi

    File Name                       : The Call.Avi
    File Type                       : AVI

ポーン.mkv

    File Name                       : Pawn.Avi
    File Type                       : MKV
4

2 に答える 2

2

ただ

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 *

ファイルのすべての情報を 1 行に収めたい場合は、次のように追加できますxargs

exiftool "$1"|egrep 'File Type|File Name' | xargs
于 2013-07-30T13:35:49.277 に答える