--strip-components
、--strip-path
時の tar の気持ち悪いというか「使いにくい」仕様…。
今更だけど。
こうだとして:
1 me@host: _tmp$ pwd
2 /home/hhs/_tmp
3 me@host: _tmp$ ls -l ../Downloads/geos-3.4.2-3.fc22.src
4 合計 1788
5 -rw-rw-r--. 1 hhs hhs 1813726 9月 11 2013 geos-3.4.2.tar.bz2
6 -rw-r--r--. 1 hhs hhs 284 8月 17 2014 geos-gcc43.patch
7 -rw-r--r--. 1 hhs hhs 9185 8月 17 2014 geos.spec
まずはお約束:
1 me@host: _tmp$ tar cf - ../Downloads/geos-3.4.2-3.fc22.src | tar tvf --strip-components=1 -
2 tar: tar: メンバ名から先頭の `../' を取り除きます
3 --strip-components=1: open 不能
4 : そのようなファイルやディレクトリはありません
Unixに慣れている人が不審に思うか、不慣れな人が不審に思うかはわからんけれど、tar は GNU のでさえ引数のオプションの位置が緩くない、珍しいコマンドね(findもだけど)。
で、本題はこっち:
1 me@host: _tmp$ tar cf - ../Downloads/geos-3.4.2-3.fc22.src | tar tvf - --strip-components=1
2 tar: メンバ名から先頭の `../' を取り除きます
3 drwxrwxr-x hhs/hhs 0 2014-10-01 18:45 Downloads/geos-3.4.2-3.fc22.src/
4 -rw-r--r-- hhs/hhs 9185 2014-08-17 01:57 Downloads/geos-3.4.2-3.fc22.src/geos.spec
5 -rw-rw-r-- hhs/hhs 1813726 2013-09-11 19:54 Downloads/geos-3.4.2-3.fc22.src/geos-3.4.2.tar.bz2
6 -rw-r--r-- hhs/hhs 284 2014-08-17 01:57 Downloads/geos-3.4.2-3.fc22.src/geos-gcc43.patch
1 me@host: _tmp$ tar cf - ../Downloads/geos-3.4.2-3.fc22.src | tar xvf - --strip-components=1
2 tar: メンバ名から先頭の `../' を取り除きます
3 Downloads/geos-3.4.2-3.fc22.src/
4 Downloads/geos-3.4.2-3.fc22.src/geos.spec
5 Downloads/geos-3.4.2-3.fc22.src/geos-3.4.2.tar.bz2
6 Downloads/geos-3.4.2-3.fc22.src/geos-gcc43.patch
1 me@host: _tmp$ ls
2 geos-3.4.2-3.fc22.src