-xyz.mp4
スクリプトを使用して最後のものを削除する方法テキストファイルのリスト。
text
今変更する必要がある変更がたくさんあります。
55363642b-b13218-4cb0-8334-546565346-384.mp4
gfdggwg-e1321-4qwe-9ewq-de32155139d8-360.mp4
到着
55363642b-b13218-4cb0-8334-546565346
gfdggwg-e1321-4qwe-9ewq-de32155139d8
ベストアンサー1
$ sed 's/-[^-]*\.mp4$//' file
55363642b-b13218-4cb0-8334-546565346
gfdggwg-e1321-4qwe-9ewq-de32155139d8
このsed
式は、行の末尾にダッシュs/-[^-]*\.mp4$//
とダッシュではなく、数字、点、文字列が続く代替式です。mp4
一致するテキストが削除されます。
変更を適用するには、-i
次のフラグを使用しますsed
(ただし、正しい結果を保証するために最初に実行しないでください)。
sed -i 's/-[^-]*\.mp4$//' file
これがファイル名であれば、実際のファイルを繰り返してみましょう。
for mp4file in *.mp4; do
printf 'The truncated name is "%s"\n' "${mp4file%-*.mp4}"
done
パラメータ置換は${mp4file%-*.mp4}
ファイル名に展開され、-*.mp4
一致する最も短い文字列は最後から削除されます。