みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

文字列取得

'/path1/path2/file1.txt'
'/path1/path2/path3/file2.txt'
上記のようなpathがあった場合にファイル名(拡張子なし)の
文字列を取得したいのですがどのように良いでしょうか?
宜しくお願い致します。

awkで$4と指定すれば「file1.txt」の文字列を取得できるのですが
パスの長さが定まっていないため$4ではなく最後の文字と指定する
記号はないでしょうか?
echo /path1/path2/file1.txt |awk '{FS="/"; print $4}'

投稿日時 - 2007-01-26 18:42:58

QNo.2698279

すぐに回答ほしいです

質問者が選んだベストアンサー

basenameでいいと思いますが、awkでやるなら

awk -F'/' '{print $NF}'

です。
オプションで指定すればBEGIN節を作る必要はありません。

投稿日時 - 2007-01-28 17:29:24

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

basenameはいかが?

詳しくは
man basename

投稿日時 - 2007-01-26 23:55:57

お礼

ありがとうございました。

投稿日時 - 2007-01-29 20:05:53

ANo.1

NFが使えます・・が、
FSの設定はBEGINでやらないとダメみたいです。

echo /path1/path2/file1.txt |awk 'BEGIN{FS="/"}{print $NF}'

投稿日時 - 2007-01-26 19:30:15

お礼

ありがとうございました。

投稿日時 - 2007-01-29 20:04:15

あなたにオススメの質問