foo/bar/baz -> bar/baz変更など、ファイルパス文字列を操作するために特別に設計されたコマンドはありますか?

foo/bar/baz -> bar/baz変更など、ファイルパス文字列を操作するために特別に設計されたコマンドはありますか?

git diff --name-only現在のディレクトリの相対パスのみを含めるようにgitプロジェクトサブディレクトリの出力を変更しようとしています。sed/do thisを使用する方法を知っていますが、次のようにファイルパスgrep文字列を操作するように特別に設計されたcliコマンドがあるかどうか疑問に思います。

  1. 削除するNパスの先頭から始まる部分:

    /foo/bar/baz->bar/baz

  2. 削除するNパスの終わりから始まる部分:

    /foo/bar/baz->/foo/bar/

  3. 2つのパスを比較し、現在のパスに基づいてパスを作成します。

    foo/bar/bazfoo/qux-> に相対的../bar/baz

  4. (オプション)パスから最後の部分を除くすべてのエントリを削除します(basename次の操作)。

    /foo/bar/baz.ex->baz.ex

  5. (オプション)パスから最後の部分のみを削除します(dirnameこれを行います):

    foo/…/bar/baz.ex->foo/…/bar/

ベストアンサー1

おすすめ記事