[解決済み】bashでパスと拡張子なしでファイルのベースネームを抽出する【重複あり
2022-04-18 07:40:10
質問
このようなファイル名があると
/the/path/foo.txt
bar.txt
得たい。
foo
bar
なぜうまくいかないのか?
#!/bin/bash
fullfile=$1
fname=$(basename $fullfile)
fbname=${fname%.*}
echo $fbname
正しい方法とは?
どのように解決するのですか?
を呼び出す必要はありません。
basename
コマンドを使用します。その代わりに、次のようなコマンドを使うことができます。
$ s=/the/path/foo.txt
$ echo "${s##*/}"
foo.txt
$ s=${s##*/}
$ echo "${s%.txt}"
foo
$ echo "${s%.*}"
foo
なお、この解決策は最近のすべての(
2004年以降
)
ポシックス
準拠のシェル、(例えば
bash
,
dash
,
ksh
など)。
bashの文字列操作の詳細。 http://tldp.org/LDP/LG/issue18/bash.html
関連
-
[解決済み】ログアウトと再ログインをせずに.bashrcの設定を再読み込みする方法とは?
-
[解決済み] CHECK_NRPE: Error - SSLハンドシェイクを完了できませんでした。
-
[解決済み] エラー: gdal がインストールされているのに、R 依存パッケージのインストール中に gdal-config が見つからない
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] Bashスクリプトでカレントディレクトリ名(フルパスなし)を取得する
-
[解決済み] Bashコマンドからテキストファイルの内部を検索・置換する
-
[解決済み】Bashでファイル名と拡張子を抽出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ssh: ホスト名を解決できなかった [ホスト名]: nodename も servname も提供されないか、不明 [終了].
-
[解決済み】 "find: paths must priore expression:" カレントディレクトリのファイルも見つける再帰的検索を指定するには?
-
[解決済み】画面 ターミナル '/dev/pts/0' を開くことができない - 確認してください。
-
[解決済み】Apacheサーバーがクラッシュし続ける。"caught SIGTERM, shutting down"
-
[解決済み] usr/bin/env bash」と「#!/usr/bin/bash」の違いは何ですか?
-
[解決済み] シェルで 'exec ls' を実行すると何が起こるか、またその理由は?[クローズド]。
-
[解決済み] diffツールの1c1とはどういう意味ですか?
-
[解決済み] 圧縮データが無効です。
-
[解決済み] grepコマンドで特定の列にマッチングさせる
-
[解決済み】Bashでファイル名と拡張子を抽出する。