0

私はシェルスクリプトを初めて使用します。要件があり、.bak(.bakのみである必要があります。リスト中に他の.bak.tar.gzファイルを選択しないでください)ファイルを見つけてリストし、それらを圧縮して.tarを作成します.gz ファイル。

4

2 に答える 2

0

これらのコードが役立つことを願っています。*.bakすべてのファイルに一致し.bakます。

tar -czf example.tar.gz *.bak
于 2013-01-23T08:28:41.593 に答える
0

おそらくこれが必要です:

#uncomment 1 of the next 2 lines : the first DOES the cmd, the 2nd only echo it

#thecmd="tar"
thecmd="echo tar"

export thecmd

for bakfile in ./*.bak ; do
   [ -f "${bakfile}" ] && ${thecmd} -czf "${bakfile}.tar.gz" "${bakfile}" 
done

また、ファイルを file.tar.gz に圧縮する前に、ファイルが REGULAR ファイル (ディレクトリ、パイプ、またはブロック デバイスではない) であるかどうかもテストします (注: 変数名に予約語や変数名を含めないようにしてください。結構多いです)

于 2013-01-23T12:07:51.780 に答える