名前変更:ディレクトリ内のファイルから最後のX文字を削除します。

名前変更:ディレクトリ内のファイルから最後のX文字を削除します。

youtube-dlを介してさまざまなソースからダウンロードした多数の動画の名前を変更しようとしています。ご存知のように、yt-dlはファイル名にビューコードを追加します。

例えば

ビデオタイトル-dQw4w9WgXcQ.mp4

ファイル名から最後のX文字を削除するプログラムまたはCLIコマンドを探しています。この例では、数字は12文字です(ファイル拡張子.mp4を除く)。

私はそのようなコマンドを検索してみましたが、うまくいくものが見つかりませんでした。また、KReenameを試しましたが、「最後の文字から始まるX文字を削除する」に対応する機能が見つかりませんでした。その機能を使用していたWindowsプログラムが記憶されます。

これを行うために使用できる「簡単な」コマンドはありますか?またはプログラムまたはKRenameの一部の設定です。 PyRenameを試しましたが、運もありません。

答え1

そしてprename真珠名前の変更)コマンド:

prename 's/(.*).{12}(\.mp4)/$1$2/' *.mp4

答え2

そしてzsh

autoload zmv # best in ~/.zshrc
zmv -n '(*)?(#c12).mp4' '$1.mp4'

(満足したら削除してください-n(模擬実行))。

答え3

これについて考える1つの方法は、最後の16文字(拡張子を含む)を削除することです。強く打つ パラメータ拡張これを行うには:

${parameter:offset:length}

    部分文字列拡張。最大に拡張してください。lengthキャラクターの価値parameter指定された文字から始まるoffset。もし parameterはい@、添え字付きのインデックス配列@または*あるいは、連想配列名を使用する場合、結果は以下の説明のように変化します。もし length省略、値の部分文字列に拡張parameter指定された文字から始まるoffset値の終わりまで拡張されます。  lengthそしてoffset算術式です(参照:算術評価[次のような])。

    もしoffset値の終わりに文字オフセットとして使用されるゼロより小さい数値として評価されます。parameter。もしlength値の終わりに文字オフセットとして解釈されるゼロより小さい数値として評価されます。parameter複数の文字の代わりに、拡張子は文字間の文字です。offsetそしてその結果。コロンとの混同を避けるために、負のオフセットはコロンと少なくとも1つのスペースで区切る必要があります。:-拡張。

負の数には、コロンの後にスペースが必要であることを考慮すると、次のようにすることができます。

#!/bin/bash

for f in *.mp4; do
    mv -- "$f" "${f:0: -16}.mp4"
done

exit

最初に実行し、次にテスト実行で許容可能な結果が出たときに実行してテストしますecho mv -- "$f" "${f:0: -16}.mp4"echo(否定的なサポートノートlength は 比較的Bashに最近追加されました。 )

A Star is Born-dQw4w9WgXcQ.mp4 とがある場合、A Star is Born-foobar42quuxBAZ.mp4両方とも名前が変更されますA Star is Born.mp4 (つまり、「衝突」が発生します)。元のファイルを実行すると、mv2番目のファイルの名前が変更されると、最初のファイルが破損します。mv -iこれを防ぐためにこれを使用することもできます。

答え4

Thunar バッチの名前変更ツール( thunar -B)。

ここに画像の説明を入力してください。

KRenameはこの操作を実行できません。 KDE用に特別に設計されていますが、スタンドアロンで使用できる不完全なThunarの名前変更フォークがあります。バイオニックバッチの名前変更"). 一部のデフォルトオプションがありません(設定を記憶し、リスト項目を並べ替えます)。


この問題は、Thunarファイルマネージャと他のxfceツールに付属のThunar renamerに存在します。 ThunarはPlasma KDEのデフォルトのファイルマネージャを妨げる可能性があります:私は次のことを使います。このソリューション


さらなる回答として[1-[#length-12]]Krenameのオプションの1つ:

このオプションは実際に配置されます。 ファイル名(ラベル) -単純なファイル名(ラベル) -ファイル名(落ちる):カスタム名

ここに画像の説明を入力してください。

最後に使用したオプションが記憶されます(krenameを再起動した後)。ファイル名(ラベル) -高度なファイル名(ラベル) -金型(落ちる)。

ここに画像の説明を入力してください。

関連情報