- ベストアンサー
文字列取得
'/path1/path2/file1.txt' '/path1/path2/path3/file2.txt' 上記のようなpathがあった場合にファイル名(拡張子なし)の 文字列を取得したいのですがどのように良いでしょうか? 宜しくお願い致します。 awkで$4と指定すれば「file1.txt」の文字列を取得できるのですが パスの長さが定まっていないため$4ではなく最後の文字と指定する 記号はないでしょうか? echo /path1/path2/file1.txt |awk '{FS="/"; print $4}'
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
basenameでいいと思いますが、awkでやるなら awk -F'/' '{print $NF}' です。 オプションで指定すればBEGIN節を作る必要はありません。
その他の回答 (2)
- manabu4673
- ベストアンサー率52% (9/17)
回答No.2
basenameはいかが? 詳しくは man basename
- thatsthat
- ベストアンサー率55% (15/27)
回答No.1
NFが使えます・・が、 FSの設定はBEGINでやらないとダメみたいです。 echo /path1/path2/file1.txt |awk 'BEGIN{FS="/"}{print $NF}'
質問者
お礼
ありがとうございました。
お礼
ありがとうございました。