aws ec2 ls 命令在最后一行显示 user@ip:directory/folder - 如何从 ls 输出中删除它?

aws ec2 ls 命令在最后一行显示 user@ip:directory/folder - 如何从 ls 输出中删除它?

当我在 aws ec2 服务器中执行 ls 命令时,我得到了所需的正确文件列表,但由于某种原因,该列表user@ip:directory/folder显示在结果的最后一行?有什么办法可以去除这个吗?

我正在解析文件列表中的一些日期以供稍后处理,但这user@ip:directory/folder显示在列表中并导致问题。

示例:我的目录位于documents/files 以下文件内

20191214.txt
20191215.txt
20191216.txt

我运行命令aws s3 ls documents/files

结果是

20191214.txt
20191215.txt
20191216.txt
user@ip:documents/files

有什么方法可以user@ip:documents/files从我的结果列表中删除吗?

答案1

你可以使用这个:

aws ec2 ls | sed 's@.*:.*/.*@@'

或者如果是 STDERR:

aws ec2 ls 2> >(grep -v'*:.*/.*')

答案2

您可以使用 忽略它aws s3 ls documents/files | head -n -1,这将返回除最后一行之外的所有结果。从head手册页:

头 [选项]... [文件]...

没有 FILE 或 FILE 为 - 时,读取标准输入。

-n, --lines=[-]K

打印前 K 行而不是前 10 行;以“-”开头,打印每个文件除最后 K 行之外的所有行

相关内容