次のような出力が与えられます。
-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 を取得する方法は原始的なようです。