データを保持し、*.tsv
データを記述するファイルです。説明を使用し、それに応じてデータ名を変更したいと思います。
これを見てください:
awk
tsvをフィルタリングするコマンドは次のとおりです。common_voice_en_22090684.mp3 four common_voice_en_22090691.mp3 no common_voice_en_22090696.mp3 one
次のディレクトリを参照してください
*.mp3
。for i in *.mp3 ; do echo $i
mv
ファイル名を変更するコマンドで、2つのパラメータ(変更するファイルと変更する内容)を使用します。
awk
(説明の読み取りと使用)と(転送された説明を使用)を使用してmv
既存のファイルの名前を変更するには?したがって、上記の例を見ると、結果は次のようになります。
four.mp3
no.mp3
one.mp3
どのコマンドを使用するかは問題ではありません。これを行う方法のアイデアや提案は非常に歓迎されています!
ベストアンサー1
これは要件を満たしていませんが、多くのファイルを処理したい場合は、mp3ごとにtsvを一度は開かないので、シェル拡張子ではなく.tsvをドライバとして使用すると、パフォーマンスが向上します。echo
期待どおりに機能しているような場合は、削除してください。
$ while read -r src tgt; do [ -f "$src" ] && echo mv -i "$src" "$tgt.mp3"; done < file.tsv