如何从ls输出中获取特定字段

  • 本文关键字:获取 字段 输出 ls shell
  • 更新时间 :
  • 英文 :


我正在尝试获取在特定路径中创建的最新文件夹的信息。在这里,我使用下面的命令来获取和过滤结果,这样我只得到以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

最新更新