パス文字列からファイル名を抽出する

パス文字列からファイル名を抽出する

私はこのような文字列を持っています

/path/to/some/file.txt

拡張子なしでファイル名を抽出したいです。

file

問題は、パスがランダムに選択され、パスを変数にハードコードできないことです。パスは文字列でなければなりません。ファイル名に英数字以外の文字が含まれたくありません。最も簡単な方法は何ですか?

答え1

答え:
デフォルト名を使用したスタックオーバーフローに対する回答の表示 https://stackoverflow.com/a/10124347/879882

basename /path/to/some/file.txt 

ファイル名のみが返されます。もっと読むman basename

サフィックスなしでファイル名のみを取得するには、anを入力するとbasename -s .txt /path/to/some/file.txtサフィックスも削除されます。

別のオプション:
このオプションを使用awk 'BEGIN{FS="/"} {print $NF} して実装することで、サフィックスを削除できます。| awk 'BEGIN{FS="."} {print $1}'

関連情報