ダウンロードしたアニメファイルをエピソード番号のないフォルダーに移動するbashスクリプトを作成しようとしています。
ファイル名/ファイルのリスト例:
[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - 000 [1080p].mkv
「ショーの名前」に基づいて新しいフォルダに移動する
[SubsHorrible] name of show
[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - 01 [1080p].mkv
[SubsHorrible] name of show - name2 of show
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 01 [1080p].mkv
[SubsHorrible] name of show
[SubsHorrible] name of show - 100 [1080p].mkv
[SubsHorrible] name of show - 101 [1080p].mkv
どんな助けも感謝します!
支援するスクリプトを提供しなかったため、次の行を使用してファイルリストからフォルダー名を作成します。
filename="[SubsHorrible] name of show - 00 [1080p].mkv"
次に、必要な部分を取得します:echo ${filename" "-*}
結果:[SubsHorrible] name of show
、フォルダーを作成するにはecho ${filename%%" "-*} | xargs -d '\n' mkdir
を実行します
説明:${filename%" "-*}
:ファイル名の後ろから" "-
までのすべてを削除してから、他のすべてを返します。
指定されたサンプルの場合:
[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - 000 [1080p].mkv
返却値:
[SubsHorrible] name of show
[SubsHorrible] name of show - name2 of show
[SubsHorrible] name of show
この単純なスクリプトを使用して、フォルダーを作成します。
#!/usr/bin/env bash
while IFS= read -r var
do
mkdir "${var%" "-*}"
done < "$1"
使用法:
./createfolder.sh list
それをより大きなスクリプトに組み込みます。
https://www.cyberciti.biz/tips/bash-Shell-parameter-substitution-2.html