テキストファイルから変数の終わりを削除する

テキストファイルから変数の終わりを削除する

-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一致する最も短い文字列は最後から削除されます。

おすすめ記事