bash从字符串变量中获取文件名

时间:2016-09-06 21:26:21

标签: bash

我在$ {f}变量中有以下内容(这是一个字符串):

-rw-r--r--   1 ftp      ftp           407 Jul 20 04:46 abc.zip
-rw-r--r--   1 ftp      ftp           427 Jul 20 05:59 def.zip
-rw-r--r--   1 ftp      ftp           427 Jul 20 06:17 ghi.zip
-rw-r--r--   1 ftp      ftp           427 Jul 20 06:34 jkl.zip
-rw-r--r--   1 ftp      ftp        227820 Jul 20 08:47 mno.zip

我想得到的只是文件名,例如:

abc.zip
def.zip
ghi.zip
jkl.zip
mno.zip

1 个答案:

答案 0 :(得分:3)

您可以使用awk打印每行中的最后一个字段。使用<<<输入重定向将变量值用作输入。

awk '{print $NF}' <<<"$f"

请注意,如果任何文件名的名称中都有空格,那么这将无法正常工作,您只需获取最后一个空格后的部分即可。不幸的是,解析ls输出并不容易。