パターンベースのtar固有のファイル

パターンベースのtar固有のファイル

次の形式のファイルをたくさん受け取りました。

2014_04_01_11.txt
2014_04_01_12.txt
2014_04_01_13.txt
2013_03_25_12.txt
2013_04_29_15.txt

これらすべてのファイルをアーカイブ20??_??_??**.tar.gzにパッケージ化したいと思います。

私の実際のコマンドは次のとおりです。

find . -name '????_??_??_*.txt' | tar ...

アーカイブ名を動的に定義する方法がわかりません。

ベストアンサー1

これはとても簡単です。

tar -cvzf 2014_04_01.tar.gz 2014_04_01_??.txt

修正する

複数の日付に対してこれを行うには(GNUを探す):

find . -maxdepth 1 -name '????_??_??_??.txt' |
  cut -d_ -f 1-3 |
  sort -u |
  while read date; do
    tar -cvzf "$date".tar.gz "$date"_??.txt
  done

おすすめ記事