我正在尝试获取在特定路径中创建的最新文件夹的信息。在这里,我使用下面的命令来获取和过滤结果,这样我只得到以11,12,19:开头的文件夹
ls_info=$(ls -lrt /orcl/grid/product |grep '11|12|19')
ls_info的输出为:
total 12
drwxrwx--- 3 oragrid oinstall 4096 May 21 2014 11.2.0.3
drwxr-xr-x 3 oragrid oinstall 4096 Feb 25 2019 11.2.0.4
我怎样才能取回";11.2.0.4";从中,这是最新创建的文件夹。请提出建议。谢谢
不要解析ls
。请改用find
。首先获取您想要的目录列表,并打印带有修改时间戳的目录。然后对列表进行排序,过滤最新的行并删除时间戳。使用GNU实用程序,您可以:
find /orcl/grid/product -mindepth 1 -maxdepth 1 -type d '(' -name '11*' -o -name '12*' -o -name '19*' ')' -printf "%Tst%fn" | sort -n | cut -f2- | tail -n1