shell生成随机文件名

       1 #!/bin/bash 
       2 # tempfile-name.sh:  临时文件名产生器 
       3 
       4 BASE_STR=`mcookie`     # 32-字符的  magic cookie. 
       5 POS=11                 #  字符串中随便的一个位置. 
       6 LEN=5                 #  取得  $LEN  长度连续的字符串. 
       7 
       8 prefix=temp          #   最终的一个临时文件. 
       9 #  如果想让这个文件更加唯一, 
      10 #+ 可以对这个前缀也使用下边的方法来生成. 
      11 
      12 #suffix=${BASE_STR:POS:LEN} 
      13 suffix=$(eval date +%T-%m-%d-%Y)
      14 # 提取从第 11 个字符之后的长度为 5 的字符串. 
      15 
      16 temp_filename=$prefix.$suffix
      17 # 构造文件名. 
      18 
      19 echo "Temp filename = "$temp_filename"" 
      20 touch $temp_filename
      21 # sh tempfile-name.sh 
      22 # Temp filename = temp.e19ea 
      23 #   与使用  'date'  命令(参考  ex51.sh)来创建唯一文件名 
      24 #+  的方法相比较. 
      25 exit 0
### 批量生成文件名的方法或工具 批量生成文件名可以通过多种方式实现,包括使用编程语言编写脚本、命令行工具以及专用软件。以下是几种常见的方法和工具: #### 1. 使用Python编程语言 Python是一种强大的编程语言,能够轻松实现批量生成文件名的功能。以下是一个示例代码,展示如何生成带有随机字符的文件名并创建对应的文件: ```python import os import random import string def generate_random_filename(length=10): letters = string.ascii_lowercase return ''.join(random.choice(letters) for _ in range(length)) path = "txtdir" os.makedirs(path, exist_ok=True) for i in range(10): random_name = generate_random_filename() file_path = os.path.join(path, f"{random_name}_myfile.txt") with open(file_path, 'w') as f: pass # 创建空文件 ``` 这种方法利用了Python的`random`模块生成随机字符串,并通过`os`模块创建文件[^1]。 #### 2. 使用Shell脚本 Shell脚本是Unix/Linux系统中常用的工具,可以快速生成随机文件名。以下是一个基于Shell的示例脚本: ```bash #!/bin/bash path='txtdir' num=0 [ -d $path ] && echo 1 || mkdir txtdir while (( num < 10 )) do random=$(openssl rand -base64 40 | sed 's#[^a-z]##g' | cut -c 2-11) touch $path/${random}_myfile.txt (( num++ )) done ``` 此脚本使用`openssl`生成随机字符,并通过`sed`过滤非字母字符,最终生成随机名称的文件[^2]。 #### 3. 使用Windows命令行工具 在Windows系统中,可以使用`ren`命令或其他批处理脚本来批量生成文件名。例如,以下批处理脚本可以生成随机文件名: ```batch @echo off setlocal enabledelayedexpansion set path=txtdir if not exist %path% mkdir %path% for /l %%i in (1,1,10) do ( set "random=%random%%random%" set "filename=!random:~0,5!_myfile.txt" type nul > "%path%\!filename!" ) ``` 这段代码通过`%random%`变量生成随机数,并将其用作文件名的一部分[^1]。 #### 4. 使用专业软件 除了编程语言和命令行工具外,还有一些专业的文件管理软件可以帮助批量生成文件名。例如: - **Bulk Rename Utility**:支持通过图形界面定义复杂的重命名规则,包括添加前缀、后缀、替换字符等。 - **Advanced Renamer**:提供类似功能,适合需要频繁进行文件重命名的用户。 这些工具通常具有直观的用户界面,适合不熟悉编程的用户。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值