2

これは動作しません:

$ tar -cf /tmp/z.tar -C /space/myroot -s '/^\.svn\/patches/__patches' src .svn/patches
tar: Invalid regular expression: trailing backslash (\)
また、ダメです:
$ tar -cf /tmp/z.tar -C /space/myroot -s '/^\\.svn\\/patches/__patches' src .svn/patches
tar: Invalid replacement flag _
バックスラッシュ (最大 4 つ) と引用符のすべての組み合わせで、これら 2 つのエラーのいずれかが返されます。ただし、最初のものはsedで機能することを知っています:
$ tar -cf /tmp/z.tar -C /space/myroot src .svn/patches
$ tar -tf /tmp/z.tar | sed 's/^\.svn\/patches/__patches/'
src/a.c
src/b.c
__patches/A.patch
__patches/B.patch
また、私は警官を出してこれを行うことができることを知っています:
$ tar -cf /tmp/z.tar -C /space/myroot -s '/^.svn.patches/__patches' src .svn/patches
――でも、本当はしたくない。
4

1 に答える 1