Shell-Script
如何僅將所有文件內容壓縮到平面存檔中?
我想將目錄中的每個文件(包括子目錄中的文件)壓縮成一個沒有任何子目錄的 tar 存檔。因此,所有文件都在一個存檔目錄中。
一種解決方案,無需在附加模式下使用 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 )