Извлечение файлов в текущий каталог

Извлечение файлов в текущий каталог

Я хочу найти и заархивировать все мои скрипты, заканчивающиеся на .sh, поэтому я написал что-то вроде этого:

touch ~/archive.tar; find ~ -type f -name '*.sh' -exec rvf ~/archive.tar {} \; 

Проблема в том, что после того, как я создам архив с именем archive.tar, архив не распакует файлы в текущий каталог, а в каталоги, из которых он был заархивирован. Например, может быть вызван архивный скрипт, ~/Desktop/wtf/delete.shно он будет извлечен в папку, wtfа не в текущий каталог, где я сейчас нахожусь. Так как мне отредактировать мой скрипт find, чтобы все скрипты были в этом формате ./filename.sh?

решение1

Предполагая, что вы используете GNU tar, вы можете сказать:

tar --transform 's/.*\///' -xzf archive.tgz

Это удалит из имен файлов все, вплоть до последнего слеша.

Связанный контент