sedを使用してファイル名のみを取得する方法

sedを使用してファイル名のみを取得する方法

sedを使用してファイル名のみを取得する方法は?私はこれを持っています

out_file=$(echo $in_file|sed "s/\(.*\.\).*/\1mp4/g")

しかし、私も道を得て、/root/video.mp4それが私が望むすべてですvideo.mp4

ベストアンサー1

basenameGNUからコアツールこれを行うのに役立ちます。

$ basename /root/video.mp4
video.mp4

ファイル拡張子が既にわかっている場合は、basename次の構文を使用して呼び出してbasename NAME [SUFFIX]削除できます。

$ basename /root/video.mp4 .mp4
video

または、別のオプションは、次を使用して最後のポイント以降のすべてを切り取ることですsed

$ basename /root/video.old.mp4 | sed 's/\.[^.]*$//'
video.old

おすすめ記事