当前位置: 首页 > 面试题库 >

创建新文件,但如果bash中已经存在文件名,则添加数字

逄俊贤
2023-03-14
问题内容

我发现了类似的问题,但在Linux / Bash中却找不到

我希望我的脚本使用给定名称(通过用户输入)创建一个文件,但是如果文件名已经存在,请在末尾添加数字。

例:

$ create somefile
Created "somefile.ext"
$ create somefile
Created "somefile-2.ext"

问题答案:

以下脚本可以为您提供帮助。您不应同时运行脚本的多个副本,以免出现竞争状况。

name=somefile
if [[ -e $name.ext || -L $name.ext ]] ; then
    i=0
    while [[ -e $name-$i.ext || -L $name-$i.ext ]] ; do
        let i++
    done
    name=$name-$i
fi
touch -- "$name".ext


 类似资料:
  • 问题内容: Python是否有任何内置功能可将数字添加到文件名(如果已存在)? 我的想法是,它将按某些OS的工作方式工作-如果将文件输出到已经存在该名称文件的目录中,则它将添加数字或对其进行递增。 即:如果“ file.pdf”存在,它将创建“ file2.pdf”,并下次创建“ file3.pdf”。 问题答案: 从某种意义上说,Python在模块中内置了此功能。不幸的是,您必须利用私有全局变量

  • 这是我的代码: 每次执行程序时,我都会创建一个新文档,我只想在不存在的情况下创建它,如果文档存在,只需添加内容即可。

  • 我只想将一个文件从一个文件夹移动到另一个文件夹(已经知道如何操作),并在这个过程中检查目标文件夹中的所有文件,删除同名文件。 我有两个文件夹/src和/dst。 在/src文件夹中,我有: access.log.1.txt 在文件夹/dst中: “进入。日志1.20171110_115840565311.txt' 当我将/src中的文件移动到/dst时,我想删除/src中名为文件的所有文件,不包括

  • 问题内容: 有客观的更好的方法在bash脚本中创建临时文件吗? 我通常只要给他们起名就可以使用它们,例如tempfile-123,因为脚本结束后它将被删除。除了覆盖当前文件夹中可能的tempfile-123之外,这样做是否有其他缺点?还是以更谨慎的方式创建临时文件有什么好处? 问题答案: 该手册页解释了它相当好: 传统上,许多shell脚本使用pid作为后缀来命名程序名称,并将其用作临时文件名。这

  • 问题内容: 我正在处理一个请求,其中我必须创建一个表来插入一些数据。因此,显然我将首先拥有一个删除表st。在创建圣之前 但是,当我第一次运行此程序(可以创建表之前)时,它将弹出一个错误,提示未创建表,然后从此处创建表和goe子。因此,每当有人第一次运行我的代码时,它将在放置表st上弹出此错误。有谁有更好的主意吗? 诸如“如果表存在则删除其他创建表”之类的东西, 我不确定我们如何在sql中做到这一点

  • 问题内容: 在使用Bluehost进行WordPress安装时,我遇到了一些情况,由于没有上传文件夹,我的WordPress主题遇到了错误。 显然,尽管HostGator可以,Bluehost cPanel WordPress安装程序不会创建此文件夹。 因此,我需要向主题添加代码,以检查文件夹并以其他方式创建该文件夹。 问题答案: 尝试这个: 请注意,这已经是目录的默认模式,并且仍可以被当前的um