我在$ {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
答案 0 :(得分:3)
您可以使用awk
打印每行中的最后一个字段。使用<<<
输入重定向将变量值用作输入。
awk '{print $NF}' <<<"$f"
请注意,如果任何文件名的名称中都有空格,那么这将无法正常工作,您只需获取最后一个空格后的部分即可。不幸的是,解析ls
输出并不容易。