ディレクトリから最新の.srtを見つけて変数に保存します。

ディレクトリから最新の.srtを見つけて変数に保存します。

字幕の名前を映画のファイル名と同じにするスクリプトを作成しようとしています。

現在、.srtファイル名を変数に入れるのに問題があります。現在のディレクトリで最小のファイルを探しています。

srtnametmp="$(basename $(find . -name '*.srt' -maxdepth 1 -type f  -printf "%s\t%p\n" | sort -n -r| tail -1 | awk '{print $NF}'))"

ただし、同じディレクトリに複数の.srtがある可能性があるため、最新の.srtを(生成時間に基づいて)参照してください。今約5時間検索して複数のソリューションをテストしましたが、$ srtnametmp変数に結果(ファイル名のみ)が表示されませんでした。今少し迷子になって助けを探しています。

答え1

次のスクリプトを使用して最新のsrtファイルを取得できます

#!/bin/bash
srt_dir="/home/$USER/Downloads/"
file_type="srt"
srtnametmp=`ls -t1 $srt_dir | grep $file_type | head -1`
echo $srtnametmp

Happy Scripting

関連情報