ファイル名のみを一覧表示し、ディレクトリとサブディレクトリを削除する方法

ファイル名のみを一覧表示し、ディレクトリとサブディレクトリを削除する方法

find、sed、awk、cut、またはその他のコマンドを使用してファイル名のリストのみを取得し、ディレクトリとサブディレクトリを削除する方法。

例:すべてのメディアファイルのリストを取得するためにfindを使用します。

find /var/warehouse/* -type f \( -name "*.avi" -o -name "*.mkv" -o -name "*.flv" -o -name "*.mp4" \) -exec ls {} +

出力:

/var/warehouse/movies/Blade/The.Bucket.List[2007]DvDrip-aXXo.avi
/var/warehouse/movies/Blade/The Lion King (1994).mkv
/var/warehouse/movies/Blade/The.Pursuit.of.Happyness.2006.DVD5.720p.BluRay.x264-REVEiLLE.en.mkv
/var/warehouse/movies/Blade/The Secret [Dual Audio] Upscaled 720p Ripped by FÅM€.mkv
/var/warehouse/movies/Blade/Yes.Man.2008.DvDRip-FxM.avi
/var/warehouse/movies/Bollywood/Bhaag Milkha Bhaag - DVDScr - XviD - 1CDRip - [DDR].avi

私が望む出力は次のとおりです。

The.Bucket.List[2007]DvDrip-aXXo.avi
The Lion King (1994).mkv
The.Pursuit.of.Happyness.2006.DVD5.720p.BluRay.x264-REVEiLLE.en.mkv
The Secret [Dual Audio] Upscaled 720p Ripped by FÅM€.mkv
Yes.Man.2008.DvDRip-FxM.avi
Bhaag Milkha Bhaag - DVDScr - XviD - 1CDRip - [DDR].avi

ベストアンサー1

あなたはすでにそれらのほとんどを持っています。あなたはあなたのものを次に-exec変更するだけです。-printf

find /var/warehouse/* -type f \( -name "*.avi" -o -name "*.mkv" -o -name "*.flv" -o -name "*.mp4" \) -printf "%f\n"

%fパスを無視し、見つかったファイルの名前を印刷します。

などのファイルも一致するように(大文字と小文字を区別する)に-name変更することを検討することもできます。-iname*.Avi*.AVI

おすすめ記事