指定された値より大きいファイルを昇順で一覧表示

指定された値より大きいファイルを昇順で一覧表示

標準プレフィックスが付いたログファイルがあります。

dev-app.0001
dev-app.0002
dev-app.0003
dev-app.0004
dev-app.0005
dev-app.0006
dev-app.0007
dev-app.0008

このログファイルが作成された時刻を含むメタデータファイルがあります。

例: 5AM dev-app.0005 is created。 dev-app.0005より大きいファイルを昇順にリストしたいと思います。

予想出力:

my_file=dev-app.0005

$my_file以上のファイルのリスト

dev-app.0005
dev-app.0006
dev-app.0007
dev-app.0008

答え1

この試み、

 my_file=dev-app.0005
 ls -1 | sed -n "/$my_file/,//p"
  • -1各出力行に1つの項目を印刷しますls
  • sed -n '/dev-app.0005/,//p'パターンを一致させた後、すべてを印刷しますdev-app.0005

答え2

これも試してみてください(msp9011の投稿から盗んだ)

$ read TIME my_file REST < metadatafile
$ ls dev* | sed -n "/$my_file/,\$p"
dev-app.0005
dev-app.0006
dev-app.0007
dev-app.0008

答え3

bash、ここでshopt -s extglob:必要のない4つのファイルを除くすべてのファイル:

ls !(dev-app.000[1-4])

バラよりパターンマッチング bashのマニュアルから。

答え4

私は自分の質問に答えます。別の簡単な方法を見つけました。

ls | grep dev-app.| awk '$1 >= "dev-app.0005"'

関連情報