標準プレフィックスが付いたログファイルがあります。
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"'