数値範囲で行をフィルタリングする方法は?

数値範囲で行をフィルタリングする方法は?

ファイルには1つの列しかありません。

fs://derps123/20210103/
fs://derps123/20210104/
fs://derps123/20210105/
fs://derps123/20210106/
fs://derps123/20210107/
fs://derps123/20210108/
fs://derps123/20210109/

20210105との間の行をフィルタリングしたいです。20210108

awkを使用してフィルタリングしようとしましたが、date構文エラーが発生します。

awk -v date='gs://derps123/''$1!=date{next};/20210105/,/20210108/' folders.txt

ベストアンサー1

-vオプション値と awk プログラムの間にスペースがないため、構文エラーが発生します。

日付は次のように数値で処理できます。

$ awk -v low=20210105 -v high=20210108 -v FS='/' '$4 >= low && $4 <= high' folders.txt
fs://derps123/20210105/
fs://derps123/20210106/
fs://derps123/20210107/
fs://derps123/20210108/

おすすめ記事