【问题标题】:Removing oldest file in directory with spaces in name删除名称中带有空格的目录中最旧的文件
【发布时间】:2014-08-20 03:21:30
【问题描述】:

大家好,我正在尝试删除目录中的文件,该目录中的名称中包含我目前正在尝试执行此操作的空格

rm `ls -t1 | tail -1`

我唯一的问题是,如果文件名中有空格,我无法删除最旧的文件

有解决办法吗?

谢谢!

【问题讨论】:

  • 这个问题可能会在Unix & Linux上得到更好的答案。

标签: linux unix rm


【解决方案1】:
rm "$(ls -t|tail -1)"

(不需要ls1 参数。)

【讨论】:

  • 您好,谢谢!我有一个后续问题,如果我想删除子目录中最旧的文件怎么办?我试过 rm "$(ls -t subdirectory | tail -1)" 但它说没有这样的文件,即使它显示它?
  • rm 更改为echo,您会看到该路径不包括在内——您正试图将其从当前目录中删除。您可以先cd 到子目录。
  • 这很奇怪,因为当我使用 echo 时它仍然显示文件,我只是无法从父目录 rm 吗?和文件名中的空格有关系吗?
  • 这是终端给我的信息:rm: cannot remove 'file Sun Jun 29' : no such file or directory
  • 这是文件名还是日期的一部分?我的意思是,假设子目录是sub,文件是somefilels 给你somefile,但你需要rm sub/somefile。路径不包括在内。
猜你喜欢
  • 1970-01-01
  • 2017-07-21
  • 2019-04-10
  • 2018-03-19
  • 2015-04-11
  • 2016-10-08
  • 2020-08-09
  • 1970-01-01
  • 2019-04-02
相关资源
最近更新 更多