디렉터리의 모든 파일(하위 디렉터리의 파일 포함)을 하위 디렉터리 없이 tar 아카이브로 압축하고 싶습니다. 따라서 모든 파일은 아카이브 디렉터리에 저장됩니다.
답변1
추가 모드에서 tar를 사용하여 복사하지 않는 솔루션
find /etc -type f | (
CNT=1 ;
TARDST="/tmp/a_flat_archive.tar"
while read F ;
do
D=$(dirname $F) ;
SF=$(basename $F) ;
if [ $CNT -eq 1 ];
then
tar -C "$D" -cf $TARDST "$SF" ;
else
tar -C "$D" --append -f $TARDST "$SF" ;
fi ;
CNT=$(( $CNT +1 )) ;
done
)