以外とむずかしかったのでメモ
こんなデータから
file:///home/hogehoge/config.bin file:///home/hogehoge/Documents/23493485345.png
こんなのを取り出す
config.bin 23493485345.png
末尾が必ずファイル名なので、フルパスからファイル名を取り出す感じ。nautilusスクリプトで必要になった。フルパスにデータの区切り文字(/)がいくつあるかわからない=フィールド数が可変、不定長なのでちょっとむずかしそう。固定ならcutでバッサリ抽出できる。
sedむずかしいんです><
最初は「検索ならsed」と思ったのでsedでやろうとしたんですが、sedむずかしい。最後のフィールドのみを抽出→後方参照を使う、という考え方。すぐ忘れるsedの後方参照の仕方 – afroのメモさんの記事から後方参照の仕方を引用すると
$ echo ABCD | sed -E "s/(C)/\1\1/g" ABCCD $ echo ABCD | sed -e "s/\(C\)/\1\1/g" ABCCD
という感じらしい。sed得意じゃないのにさらに(まで入るともうなにがなんだか(´・ω・`)
助けてawk!
あと使えそうなのはフィールド単位の処理に定評のあるawkぐらいしか…。awkでだめなら諦める、と思っていたらできた(∩´∀`)∩ワーイ
awk -F / '{print $NF}'
たったこれだけでできた、恐るべしawk…
以下のブログが参考になりました。
“awk” 最後の列を表示する @LCD -Linux Command Dictionary-|Replog!株式会社レップワンスタッフによるブログです