该文件只有一列:
fs://derps123/20210103/
fs://derps123/20210104/
fs://derps123/20210105/
fs://derps123/20210106/
fs://derps123/20210107/
fs://derps123/20210108/
fs://derps123/20210109/
Run Code Online (Sandbox Code Playgroud)
我想过滤20210105
和之间的行20210108
我尝试使用 awk 进行过滤,date
但这会引发语法错误:
awk -v date='gs://derps123/''$1!=date{next};/20210105/,/20210108/' folders.txt
Run Code Online (Sandbox Code Playgroud)
-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/
Run Code Online (Sandbox Code Playgroud)