0

ここにこの小さなコードがあります

     for file in *.tar.gz;
     do tar xzvf "${file}" && rm "${file}";
     done

tar.gz を抽出して削除します。ここで、 .tar の部分文字列のような名前のファイルリスト ファイル (.fl) を作成する必要があります。たとえば、 .tar.gz の名前から最初の 5 文字と最後の 5 文字 (拡張子) を削除する必要があります。そして、それは私が抽出したすべての .tar.gz に対してです。

例:

  • ABC_A.xml を含む ABC_A.tar.gz があります。
  • A.fl を作成する必要があり、その A.fl に ABC_A.xml を記述する必要があります。

前もって感謝します。

4

2 に答える 2

0

使用する

for file in *.tar.gz
do
    # this creates the file list into a .fl file:
    tar tfz "${file}" > "${file:5:-5}.fl"
    # this extracts and afterwards removes the tar archive:
    tar xzvf "${file}" && rm "${file}"
done

1 つのステップで 2 つを結合することもできます。

for file in *.tar.gz
do
    tar xzvf "${file}" > "${file:5:-5}.fl" && rm "${file}"
done
于 2014-03-10T10:00:20.097 に答える