1

次のような出力が与えられます。

-rw-r--r--   1 tinosino  staff   4.0K 21 Mar  2012 EtcHosts_Backup_2012-03-21_21-19-10.txt
-rw-r--r--   1 tinosino  staff   3.8K  1 Apr  2012 EtcHosts_Backup_2012-04-01_01-06-12.txt
-rw-r--r--   1 tinosino  staff   3.9K 18 Jun  2012 EtcHosts_Backup_2012-06-18_18-33-40.txt
-rw-r--r--   1 tinosino  staff   3.9K 27 Aug  2012 EtcHosts_Backup_2012-08-27_09-37-44.txt

基本的に、最後の行 (8 月 27 日) の最後のフィールド (ファイル名) を取得したいと思います。

EtcHosts_Backup_2012-08-27_09-37-44.txt

でこれを行うのに最適な方法に興味がありますperl

だけでこれを行うより良い方法がある場合ls、それは私が探しているものではありません(日付、作成、変更などで並べ替えることができ-1t、ファイル名を表示することができます)

perlこれは基本的に、私が一般的に で行っていることのやり方を学ぶことですawk:

ll | tail -n 1 | awk '{print $NF}'

与える:

EtcHosts_Backup_2012-08-27_09-37-44.txt

それが「望む答え」です。

ここで私の試み:

ll | perl -lane 'eof() && print $F[$#F]'

この見苦しい.. Fの部分を改善できますか?$F[$#F]

答えは「正しいようです」が、$NF を取得する方法は原始的なようです。

4

2 に答える 2