ログファイルの問題[閉じる]

ログファイルの問題[閉じる]

/var/log/myfiles/ログファイルをディレクトリに保存するプログラムがあります。これらのファイルのサイズは小さく保たれ、ファイル名は数字だけ増加します。最後に、レポートに最後のファイルを追加したいと思います。私はこれをしながら空白を描きました。ファイルは見つかりますが、スクリプトでは機能しません。

/var/log/myfile/master
/var/log/myfile/master.1
/var/log/myfile/master.2
/var/log/myfile/master.3

ベストアンサー1

目的のファイル(「最後のファイル」)が数値拡張子が最も高いファイルであると仮定すると、次のようになります。zshの強力なワイルドカード機能:

zsh -c 'cat /var/log/master.*(oe['REPLY=${REPLY##*.}']n[-1]) > report'

ワイルドカード/グローバル拡張は次のとおりです。

  • /var/log/master.*- 次に始まるファイルと一致します。/var/log/master.
  • ( ... )- 「グローバル修飾子」を定義します。
  • o- 結果の並べ替え
  • e['REPLY=${REPLY##*.}']/var/log/myfile/master.3- ソートする結果は、最初のピリオドの前のテキストを削除することによって提供されます。3
  • n- 結果をアルファベット順ではなく数値順に並べ替えます。
  • [-1]--結果をソートした後、最後の要素(最も大きい要素)のみを取り出します。

おすすめ記事